Hallo zusammen,
ich übertrage einen Datensatz bestehend aus Startbyte, 7 Datenbytes, Checksum über RS232. Funktioniert alles bestens.
Nun möchte ich Vor dem Startbyte aber noch 10 einzelne Bytes als "Header" laufen lassen.
Die ersten 10Bytes dienen nur als Zeitgewinn und sollen nicht ausgewertet werden.
Ich arbeite testweise mit Funkstrecke und die Empfängerhardware braucht ein bischen Zeit. Die ersten Bytes kommen meist verstümmelt an. Deshalb die "Headerbytes" um sicher zu gehen, das das Starbyte an 11 Stelle richtig ankommt.
Wie kann ich in Bascom dem Teil beibringen das er nach dem 10 Byte schauen muss, Das Starbyte(233) vergleichen ob es stimmt und ab da erst die ganze Auswerterei beginnt?
Ich mache das beim Empfänger bisher so:
EDIT : Codetags gespendet -- PicNickCode:Dim T As Byte Dim U As Long Dim V As Word Dim B(7) As Byte At T Overlay Dim A As Byte Dim C As Byte Dim D As Byte .... Do If Ischarwaiting() = 1 Then Empfang If D = 9 Then Auswertung ..... Loop Empfang: A = Waitkey() If D > 0 Then Empfang2 If A = 233 Then Incr D Return Empfang2: If D < 8 Then B(d) = A C = C Xor A Incr D Return Auswertung: If C <> 0 Then D = 0 C = 0 Return End If '---Auswertung der Daten T,U,V----
Hat jemand einen Tip? Stehe irgendwei voll auf der Leitung...
Ach, und mit INPUTBIN und IF B(11) = 233 then ....bla bla kann ich nicht arbeiten - das blockiert mir den rest des Programms. Hab ich schon ausprobiert - geht nicht.
Lesezeichen