BL602/604 Reference Manual
11.7.2 DMA receiving process
1. Configure the read and write flags to 1
2. Configure the slave device address
3. Configure Slave Device Address
4. Configure slave device address length
5. Data length
6. Set the enable signal register
7. Configure DMA transfer size
8. Configure the DMA source address transfer width (Note that when I2C is used with DMA, the source address
transfer width needs to be set to 32bits and used in word alignment)
9. Configure DMA destination address transfer width
10. Configure the DMA source address as I2C RX FIFO address, I2C_FIFO_RDATA
11. Configure the DMA destination address as the memory address to store the received data
12. Enable DMA
11.8 Interrupt
I2C includes the following interrupts:
• I2C_TRANS_END_INT: I2C transfer end interrupt
• I2C_TX_FIFO_READY_INT: Interrupt is triggered when I2C TX FIFO has free space available for filling
• I2C_RX_FIFO_READY_INT: When I2C RX FIFO receives data, trigger interrupt
• I2C_NACK_RECV_INT: When the I2C module detects a NACK state, an interrupt is triggered
• I2C_ARB_LOST_INT: I2C arbitration lost interrupt
• I2C_FIFO_ERR_INT: I2C FIFO ERROR interrupt
11.9 Register description
Name
Description
I2C configuration register
I2C interrupt status
I2C sub-address configuration
BL602/604 Reference Manual
149/ 195
@2020 Bouffalo Lab