Je reçois des données via UART d'un autre AVR. Cependant, je fais d'autres choses, donc je ne veux pas continuer à interroger constamment l'UART. Je sais qu'il y a des interruptions, mais je ne peux en voir qu'une pour la réception complète, ce qui, je suppose, nécessite encore que je relève pour terminer le transfert.
10
Réponses:
Il existe des vecteurs d'interruption pour RXC et TXC (RX et TX complets) sur les AVR. Vous ne devriez jamais avoir à les interroger sauf si vous le souhaitez.
AVRFreaks a un bon article à ce sujet, tout comme le fabricant .
la source
La routine d'interruption stocke les données dans un tampon (un tampon circulaire avec des pointeurs put et get fonctionne bien). La boucle principale vérifie s'il y a des données dans le tampon et quand il y en a, les retire. La boucle principale peut faire d'autres choses, mais doit vérifier et supprimer les données avant que le tampon d'interruption ne déborde (lorsque le put rencontre le get).
Il ne sera pas compilé mais cela illustre la méthode.
la source