Ohne Buffer mit timeout ein Auszug was läuft:
GentoCode:Dim Char_vergleich(20) As Byte Dim Char_da(20) As Byte Const Timeoutfaktor=100 '100mSek Charzaehler = 0 'Prüfen auf Startstring und IO / Startstring einlesen Timeout = 0 Do Hole_char = Ischarwaiting() 'RS232 Port auf Daten abfragen If Hole_char = 0 Then 'keine Daten da Waitms 1 Incr Timeout Else 'Daten da Timeout = 0 Hole_char = Inkey() 'Byte auslesen Incr Charzaehler 'Feldzähler hoch Char_da(charzaehler) = Hole_char If Char_da(charzaehler) <> Char_vergleich(charzaehler) Then Charzaehler = 100 'Vergleiche Byte im Startsting End If If Timeout > Timeoutfaktor Then Exit Do 'Timeout abfragen Loop Until Charzaehler > 8 'Schleife bis alle 8 Byte vom Startstring ausgelesen oder Timeout If Charzaehler <> 9 Then Datenuebergabe_rs232 = Fehler_im_startstring '10 Exit Sub End If







Zitieren

Lesezeichen