36.3.14.1 High-Level Interrupts
- Transmit
- Receive
- General Purpose
- Error
0
), and the
transmit buffer, I2CxTXB, is empty as indicated by the Transmit Buffer Empty
Status (TXBE) bit (TXBE = 1
). If the
I2C Transmit Interrupt Enable (I2CxTXIE) bit is set, an interrupt event
will occur when the I2CxTXIF bit becomes set. Writing new data to I2CxTXB, or setting
the Clear Buffer (CLRBF) bit, will clear the interrupt condition. The I2CxTXIF bit
is also used by the DMA as a trigger source.0
). The SMA bit is only set after an address has been successfully
acknowledged by a client device, which prevents false interrupts from being triggered on
address reception. The MMA bit is set once the host completes the transmission of a
Start condition.1
), which also sets I2CxRXIF. If the I2C
Receive Interrupt Enable (I2CxRXIE) bit is set, an interrupt event will occur when the
I2CxRXIF bit becomes set. Reading data from I2CxRXB, or setting the CLRBF
bit, will clear the interrupt condition. The I2CxRXIF bit is also used by the DMA as a
trigger source.The I2C Interrupt Flag (I2CxIF) is the general purpose interrupt. I2CxIF is set whenever any of the interrupt flag bits contained in the I2C Peripheral Interrupt Register (I2CxPIR) and the associated interrupt enable bits contained in the I2C Peripheral Interrupt Enable (I2CxPIE) register are set. If I2CxIF becomes set while the I2C Interrupt Enable (I2CxIE) bit is set, an interrupt event will occur. I2CxIF is cleared by module hardware when all enabled interrupt flag bits in I2CxPIR are clear.
The I2C Error Interrupt Flag (I2CxEIF) is set whenever any of the interrupt flag bits contained in the I2C Error Register (I2CxERR) and their associated interrupt enable bits are set. If I2CxEIF becomes set while the I2C Error Interrupt Enable (I2CxEIE) bit is set, an interrupt event will occur. I2CxEIF is cleared by hardware when all enabled error interrupt flag bits in the I2CxERR register are clear.