Je sais que l'interruption RX est évidemment utilisée pour sauver l'interrogation, mais pourquoi celle TX aussi?
Je sais que l'interruption RX est évidemment utilisée pour sauver l'interrogation, mais pourquoi celle TX aussi?
L'interruption TX est principalement destinée aux datagrammes plus longs.Vous pouvez lancer le transfert pour un tampon de longueur connue (bytecount).Vous pouvez maintenant pousser votre pointeur de tampon aussi souvent qu'il y a d'octets à envoyer, lorsque l'interruption TX se produit.Cela garantit le transfert "aussi rapide que possible" de votre tampon, sans qu'il soit nécessaire d'interroger un "TransferComplete" -Flag / Statusbit.
Le but principal de l'interruption TX (en fait une FIN DE TX) est d'envoyer automatiquement le contenu d'un tampon (plusieurs octets).Lorsqu'il est mis en œuvre correctement:
Le comportement exact dépend du microcontrôleur.C'est une description générale.
Certains UARTS ont un tampon interne supérieur à un, la série 16xxx pour un.
La procédure ici était
Cela réduit la charge du processeur en déchargeant certains traitements vers l'UART, permettant ainsi aux processeurs plus lents de suivre et de traiter d'autres tâches au lieu d'être interrompus tout le temps.
L'interruption TX se déclenche lorsqu'il y a de l'espace dans la mémoire tampon de transmission.
Pour les périphériques qui n'ont pas de tampon de transmission (c'est-à-dire où vous écrivez un octet, qui est transféré immédiatement), l'interruption est affirmée lorsque le registre de transmission peut être écrit avec l'octet suivant.
Pour les périphériques avec un tampon, l'interruption est affirmée à un moment défini par l'implémentation.Pour certains, c'est lorsque le tampon est à moitié vide, pour certains, c'est lorsque la transmission du dernier octet a commencé et que le tampon est complètement vide.
Un autre cas d'utilisation est lorsque vous connectez l'UART à une autre interface de communication comme RS485.Le contrôleur doit libérer le pilote de bus dès que le dernier bit a été décalé hors du tampon TX.Ceci est facile à gérer dans l'interruption TX, mais serait fastidieux à implémenter sans, car vous auriez à attendre un moment précis après avoir écrit le dernier octet dans le tampon de sortie qui varierait également avec la vitesse de transmission.