Question sur le traitement d'interruption

V

vhn

Guest
Salut, Lorsque le périphérique d'un microcontrôleur effectue un travail, si une interruption arrive, à quelle instance sera l'interruption être réparé? Combien de temps de latence doit-on envisager? Par exemple, un microcontrôleur Assme qui envoie un octet sur UART. Après le premier bit est transféré, une interruption externe arrive. Si l'interruption est desservie directement, soit après l'octet (reste 7 bits) est transférée sur UART? S'il vous plaît suggérer. Merci, VHN
 
Selon moi, dans la plupart des contrôleurs indépendants il ya unité UART il ya donc deux cas 1) vous envoyez octet de savoir routine n'utilise pas interrompre UART Dans ce cas, l'envoi des bits restants ne s'arrêtera pas (comme UART est bloc indépendant) et interrompre seront également servis immédiatement après l'exécution de l'instruction en cours et en poussant PSW à empiler. 2) si vous utilisez UART interrompre alors si interruption entrant sera servi si elle a une priorité plus élevée. si interruption entrant est moins prioritaire alors d'interruption ne sera pas servi.
 
À propos de la latence d'interruption: Est est décidé par votre programme et non par le micro-contrôleur, microcontrôleur est toujours prêt à servir les interruptions (il possède certains frais généraux comme trouver vecteur, économisant registres de sauter à l'ISR, mais ils sont constants), si les interruptions sont activées . Si vous avez désactivé les interruptions ou vous passez beaucoup de temps dans un rapport de recherche internationale (les interruptions sont automatiquement désactivé lorsque vous entrez et ISR). Aucune interruption des services sera jusqu'à ce qu'ils soient réactivées, et qui va déterminer votre latence d'interruption.
 

Welcome to EDABoard.com

Sponsor

Back
Top