32.6.4 DMA, Interrupts and Events
Each interrupt source has its own interrupt flag. The interrupt flag in the Interrupt Flag Status and Clear register (INTFLAG) will be set when the interrupt condition is meet. Each interrupt can be individually enabled by writing ‘1’ to the corresponding bit in the Interrupt Enable Set register (INTENSET), and disabled by writing ‘1’ to the corresponding bit in the Interrupt Enable Clear register (INTENCLR). As both INTENSET and INTENCLR always reflect the same value, the status of interrupt enablement can be read from either register.
An interrupt request is generated when the interrupt flag is set and the corresponding interrupt is enabled. The interrupt request is active until the interrupt flag is cleared, the interrupt is disabled or the I2C is reset. See the INTFLAG32.7.5 Interrupt Flag Status and Clear (Client) or INTFLAG32.8.6 Interrupt Flag Status and Clear (Host) register for details on how to clear interrupt flags.
Condition | Request | ||
---|---|---|---|
DMA | Interrupt | Event | |
Data needed for transmit (TX) (Client transmit mode) | Yes (request cleared when data is written) |
NA | |
Data received (RX) (Client receive mode) | Yes (request cleared when data is read) |
||
Data Ready (DRDY) | Yes | ||
Address Match (AMATCH) | Yes | ||
Stop received (PREC) | Yes | ||
Error (ERROR) | Yes |
Condition | Request | ||
---|---|---|---|
DMA | Interrupt | Event | |
Data needed for transmit (TX) (Host transmit mode) | Yes (request cleared when data is written) |
NA | |
Data needed for transmit (RX) (Host transmit mode) | Yes (request cleared when data is read) |
||
Host on Bus (MB) | Yes | ||
Stop received (SB) | Yes | ||
Error (ERROR) | Yes |