You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The above shows a repeated start and a double read of the register despite only attempting to read once.
I am trying to use MAX32670 with a No-OS Project using ADXL345 that I built. I have actually seen this condition cause infinite loops where the I2C bus sends out clocks forever and waits for data that will not come.
This happens because the i2c_reva.c MasterTransaction function erroneously sets the Restart bit and attempt to read again, when no more data will come back from the peripheral. It looks like an attempt was made to address this in commit #1211 but it may have been put off until further notice.
The text was updated successfully, but these errors were encountered:
Reading from a peripheral, it appears that the I2C driver for MAX32670 causes a double read.
What I Did
Connect an ADXL345 to I2C1 on MAX32670 EVKit. I am running the I2C example, and simply added the below source code before the main test runs...
Outcome
The above shows a repeated start and a double read of the register despite only attempting to read once.
I am trying to use MAX32670 with a No-OS Project using ADXL345 that I built. I have actually seen this condition cause infinite loops where the I2C bus sends out clocks forever and waits for data that will not come.
This happens because the
i2c_reva.c
MasterTransaction function erroneously sets the Restart bit and attempt to read again, when no more data will come back from the peripheral. It looks like an attempt was made to address this in commit #1211 but it may have been put off until further notice.The text was updated successfully, but these errors were encountered: