Tengo un kit LPC1114. Los últimos días he estado desenterrando la implementación de CMSIS de Cortex M0 para encontrar cómo se hacen las cosas en él. Hasta ahora entendí cómo se asignan cada registro y cómo puedo acceder a él. Pero aún no sé cómo se implementan las interrupciones. Todo lo que sé sobre las interrupciones en CMSIS es que hay algunos nombres de controladores de interrupciones mencionados en el archivo de inicio. Y puedo escribir mis propios controladores simplemente escribiendo una función C con los mismos nombres mencionados en el archivo de inicio. Lo que me confunde es que en la guía del usuario, se dice que todos los GPIO se pueden usar como fuentes de interrupción externas. Pero solo hay 4 interrupciones PIO mencionadas en el archivo de inicio. Así que dime:
- ¿Cómo puedo implementar controladores de interrupción externos para otros GPIO?
- ¿Dónde se asigna la tabla de interrupciones en el CMSIS?
- ¿Cuáles son las principales diferencias entre NVIC y la implementación de interrupción en AVR / PIC? (excepto que NVIC se puede asignar en cualquier lugar del flash)