Mam takie pytanie. Znalazłem taki kod w sieci do wysyłania i odbierania danych poprzez układ 433mhz.
Wysyłka TX.
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Tu kod jest jak najbardziej dla mnie zrozumiały. Wysyłamy paczkę składającą się z 4 bajtów. Jeden po drugim
Odbiór RX.
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Funkcja odbioru znakujęzyk c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
I tu nie do końca rozumiem jedną rzecz. Chodzi o to, że po wysyłaniu bajtu SYNC (0xAA), dochodzi on do układu odbiorczego.
W tym momencie zostaje wygenerowane przerwanie od odbioru danych ISR(USART_RXC_vect). Dlaczego więc pierwszą daną jaką pobieramy z bufora i zapisujemy w przerwaniu jest raddr (0x44), a nie właśnie SYNC, bo wydaje mi się, że właśnie ten bajt siedzi w tym momencie w buforze.
Z góry dziękuję za odpowiedź
Dodane:Porobiłem kilka doświadczeń i już sobie odpowiedziałem. Przy pierwszym wywołaniu przerwania w buforze siedzi bajt SYNC.
Co 4 wywołanie przerwania będzie spełniało warunek if. Temat do zamknięcia.