Estoy recibiendo datos a través de UART de otro AVR. Sin embargo, estoy haciendo otras cosas, así que no quiero tener que sondear constantemente el UART. Sé que hay interrupciones, pero solo puedo ver una para recibir completa, lo que supongo que todavía requiere que haga una encuesta para completar la transferencia.
10
Respuestas:
Hay vectores de interrupción para RXC y TXC (RX y TX completos) en los AVR. Nunca debería tener que sondearlos a menos que lo desee.
AVRFreaks tiene una buena publicación sobre esto, y también el fabricante .
fuente
La rutina de interrupción almacena los datos en un búfer (un búfer circular con punteros put y get funciona muy bien). El bucle principal verifica si hay datos en el búfer y, cuando los hay, los saca. El bucle principal puede hacer otras cosas, pero necesita verificar y eliminar los datos antes de que se desborde el búfer de interrupción (cuando el put se encuentra con el get).
No se compilará, pero esto ilustra el método.
fuente