Wenn er ein Word mit zwei Bytes vergleicht, vergleicht er ja erst das eine und dann das andere. Wenn aber genau da ein Interrupt dazwischen fährt und die ISR den "WrPnt" verändert, ist der Vergleich nicht koscher. Daher wird während des Vergleichs der interrupt disabled und gleich danach wieder aufgedreht.
Die ISR hat Zustände
1 Warten auf frame-start
2 lesen frame-länge
3 lesen daten
(4) Frame-crc OK ->Frame ready (oder nicht)
je nachdem läuft es etwas anders ab, den CRC rechnest du gleich mit, und wenn die Daten alle gelesen sind, muss ja dein nachberechneter CRC grad genau den Startwert haben.
? Ist das ein bekanntes frame-format ?
? welche art crc
Lesezeichen