5 ms·
Sometimes the slave's state machine will get 'lost' emitting a zero. It is possible that simply toggling SCL until SDA goes high (followed by a STOP) can resolv
by davepage 13y ago
Sometimes the slave's state machine will get 'lost' emitting a zero. It is possible that simply toggling SCL until SDA goes high (followed by a STOP) can resolve these issues without a separate reset line.
Implementing this may require temporarily putting the I2C pins into GPIO mode and bit banging.
- kosma 13y agoThanks for the suggestion; I'll probably end up implementing this in my I2C driver. The temporary GPIO switch won't hurt; at that point, the I2C host should probably get a reset too just to un-confuse it (at least I can generate THAT in pure software).