imbriqués interruptions dans Atmel ARM AT91SAM7S64

W

Wlodek

Guest
avez un problème avec les interruptions imbriquées sur ARM.J'utilise AT91SAM7S64 puce Atmel, et si je activer deux interruptions, la puce après un certain temps raccroche.Par exemple, je activer interruption du temps 0 à 200 Hz et de minuterie 1 à 4800 Hz.J'utilise Starter Kit avec le logiciel de l'IRA (compilateur C).J'ai fait de mon mieux, mais il ne fonctionne pas.Puis quelqu'un S'IL VOUS PLAÎT me passer un exemple de comment gérer les interruptions imbriquées?

 
Salam,

interruptions imbriquées sont accessibles en fonction de leur priorité ce qui assure le contrôleur ne sera pas raccrocher, je pense qu'il ya quelque chose dans votre code peut y avoir une boucle infinie ou une nulle part saut.

Hope J'ai aidé u

 
Je n'ai pas de notion de bras, mais sur l'AVR normalement au moment de servir une routine d'interruption, les compilateurs désactiver l'interruption mondiale permettre bits et elle permet après le ret "" de l'interruption (le vérifier dans AVR Studio).S'il ya une interruption tout en servant une autre interruption, il sera servi après la première se termine.Vous pouvez activer la "Global Interrupt Enable bit" dans la première déclaration de votre rapport de recherche internationale, mais qui peuvent nécessiter de codage Attention, car cela pourrait corrompre les cheminées, etc, s'il n'est pas manipulé correctement.

 
Essayez de pousser tous les registres bras dans la pile au début du rapport de recherche internationale et de rétablir toutes les sauvegarder à la fin ISR - qui devrait résoudre votre problème.Bien sûr, calculer taille de la pile correctement pour éviter les débordement de pile.

 

Welcome to EDABoard.com

Sponsor

Back
Top