Most processors, including the AVRs, use a vector table. A vector table, in C terms, is an array of pointers to functions. In plain English, a vector table is an ordered list of addresses of subroutines. Each hardware device that can interrupt has an unique entry in this table. When a device requires attention and that the processor is willing to respond, the processor automatically index to the correct entry in the vector table, and starts to execute whatever code is at the address.
Some procesors can relocate this vector table, most low-end AVRs must have this table located from location zero.
In C programming, you don't have to deal with this vector table directly. The SIGNAL macros take care of the low level details.
Copyright © 2006-02-15 by Tak Auyeung