| 2.9 I2C peripheral 2.9.1 Some software events must be managed before the current byte is
 being transferred
 Description
 When the EV7, EV7_1, EV6_1, EV2, EV8, and EV3 events are not managed before the
 current byte is being transferred, problems may be encountered such as receiving an extra
 byte, reading the same data twice or missing data.
 Workarounds
 When it is not possible to manage the EV7, EV7_1, EV6_1, EV2, EV8, and EV3 events
 before the current byte transfer and before the acknowledge pulse when changing the ACK
 control bit, it is recommended to:
 1. use the I2C with DMA in general, except when the Master is receiving a single byte
 2. use I2C interrupts and boost their priorities to the highest one in the application to make
 them uninterruptible
 |