我今天一直在努力学习 I2C,我花了一些时间来设置,但我现在已经安装了一个 i2c-tools
配置的 Raspberry Pi,我可以看到 /dev/i2c-0
。
但是,当我运行 i2cdetect -y 0
时,我得到一个空的地址表。这是有道理的,因为我没有任何设备连接到 I2C 总线。我想要做的是能够写入 I2C 引脚并使用我的示波器观察输出,甚至连接 LED 以便我可以看到状态变化。
这甚至是可能的,如果是这样,我将如何去做?提前致谢。
最佳答案
如果您已正确设置所有内容,您应该会在示波器上看到一些内容,同时 i2cdetect 会扫描 I2C 总线以查找可用设备。
I2C 是这样构建的,如果您尝试与总线上不存在的地址通信,则在写入 i2c 地址后您会得到 NACK。这就是 i2cdetect 知道总线上不存在特定地址的设备的方式。因此,如果总线上没有其他设备,您就无法看到任何实际的数据交易。 See the I2C User Manual.
我建议您在 I2C 总线上连接一个简单的 I2C 设备,例如 RTC(如 DS3231M 或 DS3232M)或温度传感器,并尝试与它们连接以查看实际的 I2C 事务。
另一种方法(我通常使用)是让另一个具有已知良好 I2C 从设备实现的微 Controller 充当总线上的环回。
关于linux - 在不连接设备的情况下设置 I2C 地址,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16466470/