Tengo un kit LPC1114. Los últimos días he estado desenterrando la implementación CMSIS de Cortex M0 para descubrir cómo se hacen las cosas en ella. Hasta ahora he entendido cómo se mapean cada registro y cómo puedo acceder a él. Pero aún no sé cómo se implementan las interrupciones en él. Todo lo que sé sobre las interrupciones en CMSIS es que hay algunos nombres de manejadores 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 GPIOs?
- ¿Dónde se asigna la tabla de interrupciones en el CMSIS?
- ¿Cuáles son las principales diferencias entre NVIC y la implementación de interrupciones en los AVR / PIC? (excepto NVIC se puede asignar en cualquier lugar en el flash)