Ich habe ein LPC1114-Kit. In den letzten Tagen habe ich die CMSIS-Implementierung von Cortex M0 ausgegraben, um herauszufinden, wie die Dinge darin gemacht werden. Bisher habe ich verstanden, wie die einzelnen Register zugeordnet sind und wie ich darauf zugreifen kann. Aber ich weiß immer noch nicht, wie Interrupts darin implementiert sind. Alles, was ich über Interrupts in CMSIS weiß, ist, dass einige Interrupt-Handler-Namen in der Startdatei erwähnt sind. Und ich kann meine eigenen Handler schreiben, indem ich einfach eine C-Funktion mit denselben Namen schreibe, die in der Startdatei erwähnt werden. Was mich verwirrt, ist, dass im Benutzerhandbuch angegeben ist, dass alle GPIOs als externe Interruptquellen verwendet werden können. In der Startdatei werden jedoch nur 4 PIO-Interrupts erwähnt. Also sag mir:
- Wie kann ich externe Interrupt-Handler für andere GPIOs implementieren?
- Wo ist die Interrupt-Tabelle im CMSIS zugeordnet?
- Was sind die Hauptunterschiede zwischen NVIC und der Interrupt-Implementierung in AVRs / PICs? (außer NVIC kann überall im Flash abgebildet werden)
quelle