J'ai un kit LPC1114. Ces derniers jours, j'ai fouillé l'implémentation CMSIS de Cortex M0 pour trouver comment les choses s'y déroulent. Jusqu'à présent, j'ai compris comment chaque registre est mappé et comment je peux y accéder. Mais je ne sais toujours pas comment les interruptions y sont implémentées. Tout ce que je sais des interruptions dans CMSIS, c'est qu'il y a des noms de gestionnaires d'interruption mentionnés dans le fichier de démarrage. Et je peux écrire mes propres gestionnaires en écrivant simplement une fonction C avec les mêmes noms mentionnés dans le fichier de démarrage. Ce qui m'embrouille, c'est que dans le guide de l'utilisateur, on dit que tous les GPIO peuvent être utilisés comme sources d'interruption externes. Mais il n'y a que 4 interruptions PIO mentionnées dans le fichier de démarrage. Alors dites-moi:
- Comment puis-je implémenter des gestionnaires d'interruption externes pour d'autres GPIO?
- Où est la table d'interruption mappée dans le CMSIS?
- Quelles sont les principales différences entre NVIC et l'implémentation d'interruption dans les AVR / PIC? (sauf que NVIC peut être mappé n'importe où dans le flash)
la source