Hallo, iedereen en alleman,

Ik heb een vraag over BASCOM AVR en seriele communicatie
via de UART van de µP.

Ik moet 9 bytes uitwisselen met de µP en de negende byte
fungeert als control of mode byte waarmee de µP een
opdracht van de PC ontvangt om iets uit te voeren.

Als de communicatie niet meer in synchronisatie is, om
welke reden dan ook, dan zal de µP niet meer de negende
byte gebruiken als commandobyte en dus niet meer weten
wat te doen.
hiervoor zou ik een subroutine willen schrijven die de
buffers cleart zodat bij de volgende data - overdracht de
negende byte werkelijk op de negende plaats staat.
weet iemand hoe de buffers te clearen.
ik heb reeds geprobeerd met een watchdog maar dit werkt
niet naar wens.
de voedingsspanning weg nemen geeft wel het gewenste resultaat maar dit kan ik niet aanvaarden als oplossing.

alvast bedankt.

groeten,

Het probleem van de UART was de synchronisatie (of beter gezegd GEEN sync) tussen PC en µP.
Ik gebruik nu twee extra HEADER bytes. Ik lees telkens
een word en indien deze niet een voorgedefineerde waarde
hebben blijf ik een woord lezen. Zijn de headers toch de
afgesproken waarden ga ik pas mijn data lezen!
Dit heeft als voordeel dat de headers een synchronisatie
uitvoeren door steeds een word uit de uart te lezen, de
data staat dan steeds op dezelfde plaats in de SRAM buffers!

Do
Do
H1 = Waitkey()
Loop Until H1 = 157
' first header value

H2 = Waitkey()
Loop Until H2 = 185
' second header value

'... lees data