RM0008
Figure 273. Method 1: transfer sequence diagram for master receiver
1. If a single byte is received, it is NA.
2. The EV5, EV6 and EV9 events stretch SCL low until the end of the corresponding software sequence.
3. The EV7 software sequence must complete before the end of the current byte transfer. In case EV7 software sequence can
not be managed before the current byte end of transfer, it is recommended to use BTF instead of RXNE with the drawback
of slowing the communication.
4. The EV6_1 or EV7_1 software sequence must complete before the ACK pulse of the current byte transfer.
Method 2: This method is for the case when the I2C is used with interrupts that do not have
the highest priority in the application or when the I2C is used with polling.
With this method, DataN_2 is not read, so that after DataN_1, the communication is
stretched (both RxNE and BTF are set). Then, clear the ACK bit before reading DataN-2 in
DR to ensure it is be cleared before the DataN Acknowledge pulse. After that, just after
reading DataN_2, set the STOP/ START bit and read DataN_1. After RxNE is set, read
DataN. This is illustrated below:
DocID13902 Rev 15
Inter-integrated circuit (I
2
C) interface
754/1128
777
Need help?
Do you have a question about the STM32F101 series and is the answer not in the manual?
Questions and answers