Contents RM0016
12/449 Doc ID 14587 Rev 8
21.4.3 Error conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289
21.4.4 SDA/SCL line control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
21.5 I
2
C low power modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
21.6 I
2
C interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292
21.7 I
2
C registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293
21.7.1 Control register 1 (I2C_CR1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293
21.7.2 Control register 2 (I2C_CR2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294
21.7.3 Frequency register (I2C_FREQR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296
21.7.4 Own address register LSB (I2C_OARL) . . . . . . . . . . . . . . . . . . . . . . . 297
21.7.5 Own address register MSB (I2C_OARH) . . . . . . . . . . . . . . . . . . . . . . . 297
21.7.6 Data register (I2C_DR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298
21.7.7 Status register 1 (I2C_SR1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298
21.7.8 Status register 2 (I2C_SR2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300
21.7.9 Status register 3 (I2C_SR3) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301
21.7.10 Interrupt register (I2C_ITR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302
21.7.11 Clock control register low (I2C_CCRL) . . . . . . . . . . . . . . . . . . . . . . . . 303
21.7.12 Clock control register high (I2C_CCRH) . . . . . . . . . . . . . . . . . . . . . . . 304
21.7.13 TRISE register (I2C_TRISER) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305
21.7.14 I
2
C register map and reset values . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306
22 Universal asynchronous receiver transmitter (UART) . . . . . . . . . . . . 307
22.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307
22.2 UART main features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308
22.3 UART functional description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309
22.3.1 UART character description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313
22.3.2 Transmitter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314
22.3.3 Receiver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317
22.3.4 High precision baud rate generator . . . . . . . . . . . . . . . . . . . . . . . . . . . 321
22.3.5 Clock deviation tolerance of the UART receiver . . . . . . . . . . . . . . . . . . 322
22.3.6 Parity control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323
22.3.7 Multi-processor communication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324
22.3.8 LIN (local interconnection network) mode . . . . . . . . . . . . . . . . . . . . . . 325
22.3.9 UART synchronous communication . . . . . . . . . . . . . . . . . . . . . . . . . . . 326
22.3.10 Single wire half duplex communication . . . . . . . . . . . . . . . . . . . . . . . . 328
22.3.11 Smartcard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328
22.3.12 IrDA SIR ENDEC block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330