EasyManuals Logo

STMicroelectronics STM32F05 series User Manual

STMicroelectronics STM32F05 series
742 pages
To Next Page IconTo Next Page
To Next Page IconTo Next Page
To Previous Page IconTo Previous Page
To Previous Page IconTo Previous Page
Page #515 background imageLoading...
Page #515 background image
RM0091 Inter-integrated circuit (I
2
C) interface
Doc ID 018940 Rev 1 515/742
Overrun/underrun error (OVR)
An overrun or underrun error is detected in slave mode when NOSTRETCH=1 and:
In reception when a new byte is received and the RXDR register has not been read yet.
The new received byte is lost, and a NACK is automatically sent as a response to the
new byte.
In transmission:
When STOPF=1 and the first data byte should be sent. The content of the
I2Cx_TXDR register is sent if TXE=0, 0xFF if not.
When a new byte should be sent and the I2Cx_TXDR register has not been
written yet, 0xFF is sent.
When an overrun or underrun error is detected, the OVR flag is set in the I2Cx_ISR register,
and an interrupt is generated if the ERRIE bit is set in the I2Cx_CR1 register.
Packet Error Checking Error (PECERR)
This section is relevant only when the SMBus feature is supported. Please refer to
Section 23.3: I2C implementation.
A PEC error is detected when the received PEC byte does not match with the I2Cx_PECR
register content. A NACK is automatically sent after the wrong PEC reception.
When an PEC error is detected, the PECERR flag is set in the I2Cx_ISR register, and an
interrupt is generated if the ERRIE bit is set in the I2Cx_CR1 register.
Timeout Error (TIMEOUT)
This section is relevant only when the SMBus feature is supported. Please refer to
Section 23.3: I2C implementation.
A timeout error occurs for any of these conditions:
TIDLE=0 and SCL remained low for the time defined in the TIMEOUTA[11:0] bits: this is
used to detect a SMBus timeout.
TIDLE=1 and both SDA and SCL remained high for the time defined in the TIMEOUTA
[11:0] bits: this is used to detect a bus idle condition.
Master cumulative clock low extend time reached the time defined in the
TIMEOUTB[11:0] bits (SMBus t
LOW:MEXT
parameter)
Slave cumulative clock low extend time reached the time defined in TIMEOUTB[11:0]
bits (SMBus t
LOW:SEXT
parameter)
When a timeout violation is detected in master mode, a STOP condition is automatically
sent.
When a timeout violation is detected in slave mode, SDA and SCL lines are automatically
released.
When an timeout error is detected, the TIMEOUT flag is set in the I2Cx_ISR register, and an
interrupt is generated if the ERRIE bit is set in the I2Cx_CR1 register.
Alert (ALERT)
This section is relevant only when the SMBus feature is supported. Please refer to
Section 23.3: I2C implementation.

Table of Contents

Questions and Answers:

Question and Answer IconNeed help?

Do you have a question about the STMicroelectronics STM32F05 series and is the answer not in the manual?

STMicroelectronics STM32F05 series Specifications

General IconGeneral
BrandSTMicroelectronics
ModelSTM32F05 series
CategoryMicrocontrollers
LanguageEnglish

Related product manuals