BL702/704/706 Reference Manual
11.5 I2C configuration process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210
11.5.1 Configuration item . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210
11.5.2 Read and write flags . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211
11.5.3 Slave address . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211
11.5.4 Slave register address . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211
11.5.5 Slave device address length . . . . . . . . . . . . . . . . . . . . . . . . . . . 211
11.5.6 Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211
11.5.7 Data length . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211
11.5.8 Enable signal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212
11.6 FIFO management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212
11.7 Using DMA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213
11.7.1 DMA transmission process . . . . . . . . . . . . . . . . . . . . . . . . . . . 213
11.7.2 DMA receiving process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214
11.8 I2C interrupt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214
11.9 Register description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214
11.9.1 i2c_config . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215
11.9.2 i2c_int_sts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216
11.9.3 i2c_sub_addr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217
11.9.4 i2c_bus_busy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218
11.9.5 i2c_prd_start . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218
11.9.6 i2c_prd_stop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219
11.9.7 i2c_prd_data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219
11.9.8 i2c_fifo_config_0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220
11.9.9 i2c_fifo_config_1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220
11.9.10 i2c_fifo_wdata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221
11.9.11 i2c_fifo_rdata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221
12 PWM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222
12.1 PWM introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222
12.2 PWM main features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222
12.3 PWM function description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222
12.3.1 Clock and divider . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222
12.3.2 Pulse generation principle . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223
12.3.3 PWM interrupt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224
12.4 Register description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224
12.4.1 pwm_int_config . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226
12.4.2 pwm0_clkdiv . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226
12.4.3 pwm0_thre1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226
12.4.4 pwm0_thre2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227
12.4.5 pwm0_period . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227
BL702/704/706 Reference Manual 10/ 375
@2021 Bouffalo Lab