I'm reading the I2C standard version 5 generated in 2014 today, and found a note, that mentioned: A START condition immediately followed by a STOP condition (void message) is an illegal format. Many devices however are designed to operate properly under this condition.
I'm wandering the reason why, is anyone familiar with this?
Because we used to design 9 start and 9 stop to recover the deadlock of slave with 9 SCL clock cycle also.
Hello Jessica Xu
Sending an START condition followed by a STOP (void message) is not permitted by the i2c bus specification.
One solution to recover the module from deadlock is switch your SCL and SDA lines to GPIO in order to send those 9 clock cycles an recover the module.
Please refer to this post that could be very useful https://community.nxp.com/message/1204120?commentID=1204120#comment-1204120.
Let me know if this is helpful
Best regards,
Omar