1. SCL/SDA没有,
2. i2c地址不对;有些平台的i2c地址需要右移一位,有些不需要。例如如果IO芯片的地址是0xEA, 那么你的函数里面可能需要使用使用(0xEA>>1)作为设备的地址
3. 时钟速率不匹配,有的芯片支持的是SMBus协议,和I2C有点差异。一般出错是主机SCK过快。
4.I2C设备工作不正常,如电压不正常,时钟不正常
本文探讨了I2C通信中常见的四个问题:SCL/SDA缺失、地址配置错误、时钟速率不匹配及设备故障,并提供了相应的解决思路。
开发板推荐:天空星STM32F407VET6开发板
超高性价比 STM32主控 | 超高主频 | 一板兼容百芯 | 比赛神器 | 沉金彩色丝印
1. SCL/SDA没有,
2. i2c地址不对;有些平台的i2c地址需要右移一位,有些不需要。例如如果IO芯片的地址是0xEA, 那么你的函数里面可能需要使用使用(0xEA>>1)作为设备的地址
3. 时钟速率不匹配,有的芯片支持的是SMBus协议,和I2C有点差异。一般出错是主机SCK过快。
4.I2C设备工作不正常,如电压不正常,时钟不正常
开发板推荐:天空星STM32F407VET6开发板
超高性价比 STM32主控 | 超高主频 | 一板兼容百芯 | 比赛神器 | 沉金彩色丝印
1万+
2万+
5287
8773
2369

被折叠的 条评论
为什么被折叠?