Daten aus UART verwerfen, wenn unvollständig
Hallo,
ich habe mal wieder ein Problem.
Ich habe eine kleine Steuerung gebaut, nichts aufregendes. Ich benutze einen Tiny2313, der nach empfangen eines 3 Byte langen Protokolls Port B schalten soll. Hier mal der wichtigste Teil des Codes
Code:
Config Watchdog = 200
On Urxc Onrxd
Enable Urxc
Dim c as byte, v as byte, x as byte 'c = Kommando, v = Wert, X = Xor Checksumme
Config Portb = Output
Portb = 0
Start Watchdog
Enable Interrupts
Do
Reset Watchdog
Loop
Onrxd:
inputbin C,V,X
if c = $01 then
Portb = V
end if
Return
end
Der Code ist noch länger aber um diesen Teil geht es mir.
Im Grunde funktioniert das (fast) so wie ich möchte. Wenn der Befehls-Frame nicht komplett oder in 200ms gesendet wird, wird durch den Reset der Frame verworfen und auf einen neuen gewartet.
Jetzt das Problem: Ich möchte das dabei der Zustand des Portb erhalten bleibt. Hat jemand einen Tip wie ich das umsetzen kann?
Wäre schön wenn jemand helfen kann.
Gruß Frank