Otrzymuję dane przez UART z innego AVR. Jednak robię inne rzeczy, więc nie chcę ciągle sprawdzać UART. Wiem, że są przerwania, ale widzę tylko jedno z otrzymanych zakończeń, które, jak zakładam, nadal wymaga ode mnie sondowania, aby dokończyć przesyłanie.
10
Odpowiedzi:
Istnieją wektory przerwań zarówno dla RXC, jak i TXC (kompletne RX i TX) na AVR. Nigdy nie powinieneś sondować tych, chyba że chcesz.
AVRFreaks ma fajny post na ten temat, podobnie jak producent .
źródło
Procedura przerwania przechowuje dane w buforze (bufor okrągły z wskaźnikami put i get działa dobrze). Pętla główna sprawdza, czy w buforze są dane, a kiedy są, usuwa je. Główna pętla może robić inne rzeczy, ale musi sprawdzić i usunąć dane, zanim przepełni się bufor przerwań (kiedy put spotka się z get).
Nie można go skompilować, ale ilustruje to metodę.
źródło