RM0453
33.6.11 TAMP register map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1048
34
Inter-integrated circuit (I2C) interface . . . . . . . . . . . . . . . . . . . . . . . . 1049
34.1
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1049
34.2
I2C main features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1049
34.3
I2C implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1050
34.4
I2C functional description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1050
34.4.1
34.4.2
34.4.3
34.4.4
34.4.5
34.4.6
34.4.7
34.4.8
34.4.9
34.4.10 I2C_TIMINGR register configuration examples . . . . . . . . . . . . . . . . . 1080
34.4.11 SMBus specific features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1081
34.4.12 SMBus initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1084
34.4.13 SMBus: I2C_TIMEOUTR register configuration examples . . . . . . . . 1086
34.4.14 SMBus slave mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1087
34.4.15 Wake-up from Stop mode on address match . . . . . . . . . . . . . . . . . . 1093
34.4.16 Error conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1094
34.4.17 DMA requests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1096
34.4.18 Debug mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1096
34.5
I2C low-power modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1097
34.6
I2C interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1098
34.7
I2C registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1099
34.7.1
34.7.2
34.7.3
34.7.4
34.7.5
34.7.6
34.7.7
34.7.8
I2C block diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1051
I2C pins and internal signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1052
I2C clock requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1052
Mode selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1052
I2C initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1053
Software reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1057
Data transfer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1058
I2C slave mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1060
I2C master mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1069
I2C control register 1 (I2C_CR1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1099
I2C control register 2 (I2C_CR2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1102
I2C own address 1 register (I2C_OAR1) . . . . . . . . . . . . . . . . . . . . . . 1104
I2C own address 2 register (I2C_OAR2) . . . . . . . . . . . . . . . . . . . . . . 1104
I2C timing register (I2C_TIMINGR) . . . . . . . . . . . . . . . . . . . . . . . . . . 1105
I2C timeout register (I2C_TIMEOUTR) . . . . . . . . . . . . . . . . . . . . . . . 1106
I2C interrupt and status register (I2C_ISR) . . . . . . . . . . . . . . . . . . . . 1107
I2C interrupt clear register (I2C_ICR) . . . . . . . . . . . . . . . . . . . . . . . . 1110
RM0453 Rev 5
Contents
35/1450
44
Need help?
Do you have a question about the STM32WL5 Series and is the answer not in the manual?