SimAVR
AVR Simulator
|
Data Structures | |
struct | avr_extint_t |
This module is just a "relay" for the pin change IRQ in the IO port module. More... | |
Macros | |
#define | AVR_IOCTL_EXTINT_GETIRQ() AVR_IOCTL_DEF('i','n','t',' ') |
Get the internal IRQ corresponding to the INT. More... | |
#define | AVR_EXTINT_DECLARE(_index, _portname, _portpin) |
Declares a typical INT into a avr_extint_t in a core. More... | |
#define | AVR_ASYNC_EXTINT_DECLARE(_index, _portname, _portpin) |
Asynchronous External Interrupt, for example INT2 on the m16 and m32 Uses only 1 interrupt sense control bit. More... | |
#define | AVR_EXTINT_MEGA_DECLARE(_index, _portname, _portpin, _EICR) |
#define | AVR_EXTINT_TINY_DECLARE(_index, _portname, _portpin, _IFR) |
Typedefs | |
typedef struct avr_extint_t | avr_extint_t |
This module is just a "relay" for the pin change IRQ in the IO port module. More... | |
Enumerations | |
enum | { EXTINT_IRQ_OUT_INT0 = 0, EXTINT_IRQ_OUT_INT1, EXTINT_IRQ_OUT_INT2, EXTINT_IRQ_OUT_INT3, EXTINT_IRQ_OUT_INT4, EXTINT_IRQ_OUT_INT5, EXTINT_IRQ_OUT_INT6, EXTINT_IRQ_OUT_INT7, EXTINT_COUNT } |
Functions | |
void | avr_extint_init (avr_t *avr, avr_extint_t *p) |
#define AVR_ASYNC_EXTINT_DECLARE | ( | _index, | |
_portname, | |||
_portpin | |||
) |
Asynchronous External Interrupt, for example INT2 on the m16 and m32 Uses only 1 interrupt sense control bit.
#define AVR_EXTINT_DECLARE | ( | _index, | |
_portname, | |||
_portpin | |||
) |
Declares a typical INT into a avr_extint_t in a core.
this is a shortcut since INT declarations are pretty standard. The Tinies as well as the atmega1280 are slightly different. See sim_tinyx5.h and sim_mega1280.h
#define AVR_EXTINT_MEGA_DECLARE | ( | _index, | |
_portname, | |||
_portpin, | |||
_EICR | |||
) |
#define AVR_EXTINT_TINY_DECLARE | ( | _index, | |
_portname, | |||
_portpin, | |||
_IFR | |||
) |
#define AVR_IOCTL_EXTINT_GETIRQ | ( | ) | AVR_IOCTL_DEF('i','n','t',' ') |
Get the internal IRQ corresponding to the INT.
typedef struct avr_extint_t avr_extint_t |
This module is just a "relay" for the pin change IRQ in the IO port module.
We hook up to their IRQ and raise out interrupt vectors as needed
"isc" is handled, apart from the "level" mode that doesn't make sense here (?)
anonymous enum |
void avr_extint_init | ( | avr_t * | avr, |
avr_extint_t * | p | ||
) |