STM32L431 errata - I2C "Spurious bus error detection in master mode"
ES0320 [1] describes an I2C errata "Spurious bus error detection in master mode":
Description
In master mode, a bus error can be detected spuriously, with the consequence of setting the BERR flag of the I2C_SR register and generating bus error interrupt if such interrupt is enabled. Detection of bus error has no effect on the I2C-bus transfer in master mode and any such transfer continues normally.
Workaround
If a bus error interrupt is generated in master mode, the BERR flag must be cleared by software. No other action is required and the ongoing transfer can be handled normally.
I have two questions:
- Does this mean we won't be able to detect actual bus error situations because we are required just to ignore it?
- Can a DMA transfer be halted because one of these "spurious" bus error detections? Or maybe we are in luck and DMA doesn't give any attention to the BERR flag?
Thank you.
[1] https://www.st.com/resource/en/errata_sheet/dm00218224.pdf
