2021-09-20 08:48 AM
I need to implement an I2C slave in an STM32F373 and I'm stumped by the documentation in the reference manual (RM0313 section 24.4.7) figure 176. The NOSTRETCH=0 with 1st data flushed looks to be exactly what I want to do but the documentation in 24.7.7 for TXIS says I need to write to to TXDR to clear it. This doesn't seem correct as a TXDR write when not empty leads to a loss of data.
Should I be masking TXIS and be working with the TXE interrupt? Can I clear TXIS without writing the TXDR?