RM0401 Rev 3 19/771
RM0401 Contents
23
22.7.4 FMPI2C own address 2 register (FMPI2C_OAR2) . . . . . . . . . . . . . . . 582
22.7.5 FMPI2C timing register (FMPI2C_TIMINGR) . . . . . . . . . . . . . . . . . . . 583
22.7.6 FMPI2C timeout register (FMPI2C_TIMEOUTR) . . . . . . . . . . . . . . . . 584
22.7.7 FMPI2C interrupt and status register (FMPI2C_ISR) . . . . . . . . . . . . . 585
22.7.8 FMPI2C interrupt clear register (FMPI2C_ICR) . . . . . . . . . . . . . . . . . . 587
22.7.9 FMPI2C PEC register (FMPI2C_PECR) . . . . . . . . . . . . . . . . . . . . . . . 588
22.7.10 FMPI2C receive data register (FMPI2C_RXDR) . . . . . . . . . . . . . . . . . 589
22.7.11 FMPI2C transmit data register (FMPI2C_TXDR) . . . . . . . . . . . . . . . . . 589
22.7.12 FMPI2C register map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 590
23 Inter-integrated circuit (I
2
C) interface . . . . . . . . . . . . . . . . . . . . . . . . . 592
23.1 I
2
C introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 592
23.2 I
2
C main features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 593
23.3 I
2
C functional description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 594
23.3.1 Mode selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 594
23.3.2 I2C slave mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 595
23.3.3 I2C master mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 598
23.3.4 Error conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 604
23.3.5 Programmable noise filter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 605
23.3.6 SDA/SCL line control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 606
23.3.7 SMBus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 606
23.3.8 DMA requests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 609
23.3.9 Packet error checking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 610
23.4 I
2
C interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .611
23.5 I
2
C debug mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 613
23.6 I
2
C registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 613
23.6.1 I
2
C Control register 1 (I2C_CR1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 613
23.6.2 I
2
C Control register 2 (I2C_CR2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 615
23.6.3 I
2
C Own address register 1 (I2C_OAR1) . . . . . . . . . . . . . . . . . . . . . . . 617
23.6.4 I
2
C Own address register 2 (I2C_OAR2) . . . . . . . . . . . . . . . . . . . . . . . 617
23.6.5 I
2
C Data register (I2C_DR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 618
23.6.6 I
2
C Status register 1 (I2C_SR1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 618
23.6.7 I
2
C Status register 2 (I2C_SR2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 622
23.6.8 I
2
C Clock control register (I2C_CCR) . . . . . . . . . . . . . . . . . . . . . . . . . 623
23.6.9 I
2
C TRISE register (I2C_TRISE) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 624
23.6.10 I
2
C FLTR register (I2C_FLTR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 625