最近用一个小兄弟的代码,发现我的I2C总是发送成功率很差。
现象:
1)部分芯片的读写成功率在近100%;
2)少量芯片读写成功率几乎为0;
3) 单片机不能工作电压太高,太高了几乎都无法读写成功。(第1点中,需要单片机工作在2.5V,最低电压时)单片机正常工作电压为3.3V。
排查:
后续发现是SDA要配置为弱上拉双向口。代码中配置为了强推输出。
最近用一个小兄弟的代码,发现我的I2C总是发送成功率很差。
现象:
1)部分芯片的读写成功率在近100%;
2)少量芯片读写成功率几乎为0;
3) 单片机不能工作电压太高,太高了几乎都无法读写成功。(第1点中,需要单片机工作在2.5V,最低电压时)单片机正常工作电压为3.3V。
排查:
后续发现是SDA要配置为弱上拉双向口。代码中配置为了强推输出。