Other Parts Discussed in Thread: PCF8575
Hi folks!
I use I2C (100/400 KHz) within POSIX/TI-RTOS (SL SDK 3_30) talking without problems to couple of I2C IO expanders PCF8575.
Driver usage is like SDK examples for I2 master (Non blocking, No timeout).
Caused (reproduceabe) by external radiated disturbance in logic analyzer I see a aprox 60ns spike setting SCL=SDA=0 at same time .
After this event I2C transfer stops immediately and I assume MSP432 driver hangs in a undefined state.
I tried to filter spikes by ceramic caps, but this does prevent the issue.
So I need to find a workaround to make I2C run again after these spike events.
Some ideas to this:
- If this irregular state is not detectable by SW, do I have restart I2C periodicly (by close() and open() again ) to abort such a state ?
- I do not use timeout.. does timeout make driver come out of these kind of states ?
Any ideas very welcome!
