I2C Hung between 87 > 841 #848
ahshah
started this conversation in
Support / Q & A
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Hey folks, been having a perplexing problem where the I2C communication between an 87 controller and an 841 peripheral. I'm just trying to read 6 bytes of status. Device address is 0x01. Using 4.7k ohm pull-up resistors. The problem is that the controller device gets hung at random intervals.
I put a logic analyzer on the sda/scl lines and here is the second to last transaction prior to the 87 getting hung:
Here is the last transaction:
Here is another run with protocol data deciphered
As we can see the transaction enters an identifiable error condition, at least according to the Waveforms app, but I am too unfamiliar with I2C to understand what caused the error. I also can't find anything in the 87's datasheet (specifically the USI status registers) to help indicate an error has occurred so we can bail out of where the wire library is hung.
Any ideas on how to move forward ? Either identification of the issue or mitigation? the two waveforms look so similar, I'm having a hard time understanding what even is the problem..
Beta Was this translation helpful? Give feedback.
All reactions