Interrupt functions differ from ordinary C functions in that:
- Calls to interrupt functions are made
via interrupt vectors. Direct calls are not allowed.
- No arguments can be passed to an
interrupt function
- No return value
- Flags (SREG) and registers used in
interrupt functions should be stored and restored
- Interrupt functions return by using
the RETI instruction