当使用了多个I2C总线的从设备时,想要知道I2C总线及各个从设备工作是否正常,目前想法是加入自检程序:
1、基于I2C总线空闲时SDA引脚为高电平,将SDA线置为输入,然后判断SDA总线的电平,若持续为低则判定总线故障。造成的原因有可能是某个从设备将总线拉低。
2、主机遍历从机地址,根据ACK应答位来判断与从设备的通信是否正常,若无应答可能是从设备异常或从设备未接入。
若有更好的办法可以分享下
当使用了多个I2C总线的从设备时,想要知道I2C总线及各个从设备工作是否正常,目前想法是加入自检程序:
1、基于I2C总线空闲时SDA引脚为高电平,将SDA线置为输入,然后判断SDA总线的电平,若持续为低则判定总线故障。造成的原因有可能是某个从设备将总线拉低。
2、主机遍历从机地址,根据ACK应答位来判断与从设备的通信是否正常,若无应答可能是从设备异常或从设备未接入。
若有更好的办法可以分享下