Ho un kit LPC1114. Negli ultimi giorni ho scoperto l'implementazione CMSIS di Cortex M0 per scoprire come vengono fatte le cose. Finora ho capito come sono mappati tutti i registri e come posso accedervi. Ma ancora non so come siano implementati gli interrupt. Tutto quello che so sugli interrupt in CMSIS è che ci sono alcuni nomi di gestori di interrupt menzionati nel file di avvio. E posso scrivere i miei gestori semplicemente scrivendo una funzione C con gli stessi nomi menzionati nel file di avvio. Ciò che mi confonde è che nella guida per l'utente viene detto che tutti i GPIO possono essere utilizzati come fonti di interrupt esterne. Ma ci sono solo 4 interruzioni PIO menzionate nel file di avvio. Allora dimmi:
- Come posso implementare gestori di interrupt esterni per altri GPIO?
- Dove viene mappata la tabella degli interrupt nel CMSIS?
- Quali sono le principali differenze tra NVIC e l'implementazione degli interrupt negli AVR / PIC? (tranne NVIC può essere mappato ovunque nel flash)