37.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 (I2CxPIR) Register 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 (I2CxERR) Register 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.