Simple IRQ Controller
Funktion
Der Interruptkontroller ermittelt aus allen anliegenden Interruptsignalen das Signal mit der höchsten Priorität und meldet dieses der CPU. In der Behandlung kann über das Register INT_PRI die zur Zeit größte Nummer, und damit auch das Signal mit der höchsten Priorität ermittelt werden. Eine Unterbrechung eines laufenden Interrupts durch einen Interrupt höherer Priorität ist nicht möglich, da das Signal des RFE-Befehls nicht ausgewertet wird. Die Funktion des Interruptkontrollers kann mit der TEST2 Konfiguration überprüft werden.
Register
Offset | Register | Funktion | Zugriff |
0 | INT_PRI | Nummer des aktiven Interrupts mit der zur Zeit höchsten Priorität. | read |
1 | INT_BIT0 | Auflistung des Zustandes der ersten 18 Interruptleitungen | read |
2 | INT_BIT1 | Auflistung des Zustandes der zweiten 18 Interruptleitungen | read |
3 | INT_BIT2 | Auflistung des Zustandes der dritten 18 Interruptleitungen | read |
... | ... | ... | read |
Einstellungen für den Interrupt Controller (jConfig)
|
|
Testprogramme
Beispiele zur Interruptarbeit unter C sind auf den folgenden Wiki Seiten zu finden:
- Interrupt Behandlung im GCC
- Testprogramme für die Interruptarbeit mit UART 2
- Programm für den Rotationstaster