我对I2C协议还很陌生,但我还是设法把数据写入了我的设备。我买了ADV7630评估板,这是一个由I2C控制的HDMI开关
我可以用I2c写寄存器,也可以用i2cDetect显示所有设备。我也试着读寄存器的内容,但不管我读什么,总是“读失败”。同时i2Cdump获取所有“XX”。在
我在某处读到的是连接不良,所以我反复检查,并焊接了连接器,但这并没有帮助。在
我的硬件是ADV7630评估板从模拟设备,和一个树莓派使用raspbian最新发行版。在
任何关于这方面的线索都将不胜感激。在
谢谢。在
使用的命令:
i2cdetect -y 1
我只有0x74设备(根据adv7630数据表,这是正常的)
^{pr2}$错误:读取失败
i2cdetect -y 1
我得到了检测到的设备编号:(在本例中为:38,3d,3f,40,46,47,64,74),这是预期的。在
我知道发生了什么事。实际上,我的设备需要一些刻度i2c重复启动条件。由于在i2ctools上默认情况下不会激活此功能,因此它无法与我的设备一起工作。在
使用Raspbian和i2ctools激活i2c重复启动条件的方法如下:
在
/etc/modprobe.d/i2c.conf
处创建文件 并将内容设置为:而且效果很好!在
谢谢你的帮助!在
参考文献:
https://ez.analog.com/message/77452
http://rabbit-note.com/2015/02/15/raspberry-pi-i2c-repeated-start/
相关问题 更多 >
编程相关推荐