Chapter 9

Resources

“Interrupts” you may have encountered

Processing has several event-driven functions that are a bit like interrupts.

JavaScript, with its many callback function is also event-driven.

Arduino programmers sometimes use and overuse interrupts to make their program behave more predictably. Arduino PWM also uses timers.

The Unix signal is a bit like an interrupt. The Unix command kill can deliver a signal to a process.

Interrupts

Properties of the PIC32 interrupt hardware

The PIC32 has a special set of CP0 registers that are used for operating systems functions such as interrupt handling. Notes from UC-Davis and UC-Berkeley provide detailed descriptions of how the MIPS32 architecture handles exceptions and interrupts.

The best thing to do when handling an interrupt

Defer.

The worse thing to do when handling an interrupt

Delay.

The ISR

Code generated by the compiler will save and restore registers. This includes the various callee-saved registers such as $tn.

Most PIC32 interrupt service routines are fairly simple.

Connecting interrupts to actions on pins

Interesting things to do with interrupts

Timers