Anfänger Fragen: inkey, waitkey oder Ischarwaiting verwenden
Hallo,
mache über die RS232 eine Abfrage die dann beim richtigen Input demenstsprechend Antworten soll. Nur leider klappt es nicht so wie ich will.
Hier der Code:
Code:
'Hardware: MAX232 an PD0/PD1, Nullmodemkabel zum PC
'---------------------------------------------------
$regfile = "m8def.dat"
$crystal = 3686400 'Quarz: 3.6864 MHz
$baud = 9600 'Baudrate der UART: 9600 Baud
Config Com1 = Dummy , Synchrone = 0 , Parity = Even , Stopbits = 1 , Databits = 8 , Clockpol = 0
' set buffer for hardware UART input
Config Serialin = Buffered , Size = 254
Enable Interrupts
Dim A As Byte
Dim B As String * 7
Anfang:
B = Chr(&H00) + Chr(&H05) + Chr(&H08) + Chr(&H7d) + Chr(&H00) + Chr(&H70) + Chr(&H00)
A = Ischarwaiting()
If A = B Then
Goto Klappen:
Else
Goto Anfang:
End If
Gosub Anfang:
Klappen:
Waitms 200
Printbin &H3F ; &H06 ; &H00 ; &H0C ; &H01 ; &H39 ; &H01 ; &H0C ;
Waitms 200
Printbin &H3F ; &H06 ; &H00 ; &H0C ; &H02 ; &H39 ; &H01 ; &H0F ;
Goto Anfang:
End
Hab nur jetzt leider bei inkey und waitkey das Problem, das sobald ein Zeichen der chr( )-Kette empfangen wird gleich das ganze Programm druchläuft und quasi gleich zu "klappen:" geht.
Soll natürlich warten bis der komplette richtige Code erst empfangen wird.
Bei Ischarwaiting() passiert ganrnix.
Muß ich die Zeichen irgendwie anders abfragen oder verketten ?
Goto verwende ich jetzt schon weil die Abfrage noch erweitert werden soll...
Vielen Dank im voraus !!!
M.f.G.
Jürgen