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
Thanks for the USI I2C library, great help. However, I found when in USI I2C Slave mode that if your Microcontroller is running at 8MHz or lower you will need to reduce the Arduino's Wire Library default (100kHz) I2C SCL frequency. Else the timing in the ACK section can be a bit dicey.
To change the Arduino's Wire Library default I2C SCL frequency you need to call Wire.setClock(<SCL_FREQ>) where SCL_FREQ is anywhere between 31000L to 400000L (31kHz to 400kHz). See begin section here .
This was an extremely annoying bug to hunt down.
Hope this makes sense and helps others.
The text was updated successfully, but these errors were encountered:
Thanks for the USI I2C library, great help. However, I found when in USI I2C Slave mode that if your Microcontroller is running at 8MHz or lower you will need to reduce the Arduino's Wire Library default (100kHz) I2C SCL frequency. Else the timing in the ACK section can be a bit dicey.
To change the Arduino's Wire Library default I2C SCL frequency you need to call Wire.setClock(<SCL_FREQ>) where SCL_FREQ is anywhere between 31000L to 400000L (31kHz to 400kHz). See begin section here .
This was an extremely annoying bug to hunt down.
Hope this makes sense and helps others.
The text was updated successfully, but these errors were encountered: