beaglebone black 的原版系统自带了i2c的驱动,在/dev/下有 i2c-0和i2c-1两个设备。。。但是原理图上写着header9 的pin17和pin18是对应 I2C1的,而pin19,20是
对应I2C2的。将传感器接到19,20pin,读取/dev/i2c-1设备却能正确读取数据,而接到pin17,18则不能。。。。。这是怎么回事,是原理图设计标注不对??还是/dev/
下的设备命名的歧意????将传感器接到17,18引脚,无论读/dev/i2c-0, h还是/dev/i2c-1都不能读取数据。。。。。
求解答。。谢谢
leo chen:
将传感器接到19,20pin,读取到的数据是正确的吗?
xiansheng zeng:
回复 leo chen:
对,将传感器19,20pin,读取到的数据是正确的。。。我觉得要么是原理图标注错了,这个可能性很小,要么是设备驱动生成的节点不对应,也就是/dev//i2c-1这个设备节点对应的不是i2c-1这个设备。。。。觉得不确定。。我现在用的系统是买的时候自带的的系统, 不知是不是这个版本系统有问题??下面是版本信息:root@beaglebone:~# root@beaglebone:~# uname -a Linux beaglebone 3.8.13-bone47 #1 SMP Fri Apr 11 01:36:09 UTC 2014 armv7l GNU/Linuxroot@beaglebone:~#
Gary Wu:
你好!
请问使用的是什么版本的SDK?
一般来说,i2c0的设备节点为i2c1,以此类推
xiansheng zeng:
回复 leo chen:
对,将传感器19,20pin,读取到的数据是正确的。。。我觉得要么是原理图标注错了,这个可能性很小,要么是设备驱动生成的节点不对应,也就是/dev//i2c-1这个设备节点对应的不是i2c-1这个设备。。。。觉得不确定。。我现在用的系统是买的时候自带的的系统, 不知是不是这个版本系统有问题??下面是版本信息:root@beaglebone:~# root@beaglebone:~# uname -a Linux beaglebone 3.8.13-bone47 #1 SMP Fri Apr 11 01:36:09 UTC 2014 armv7l GNU/Linuxroot@beaglebone:~#
xiansheng zeng:
回复 Gary Wu:
这样吗??不是有一般是:i2c0就对应i2c0的设备节点,后面依次对应码???
用的不是SDK,而是买回来时emmc‘里面自带的系统,版本是:BeagleBoard.org BeagleBone Debian Image 2014-04-23
用sdk8的话,/dev目录下只有/dev/i2c-0 一个设备节点。用i2cdetect检测的话:
root@am335x-evm:~#i2cdetect -y -r 0 0 1 2 3 4 5 6 7 8 9 a b c d e f00: — — — — — — — — — — — — — 10: — — — — — — — — — — — — — — — — 20: — — — — UU — — — — — — — — — — — 30: — — — — UU — — — — — — — — — — — 40: — — — — — — — — — — — — — — — — 50: 50 — — — — — — — — — — — — — — — 60: — — — — — — — — — — — — — — — — 70: UU — — — — — — —
不管接不接传感器,依然有这个输出,说明这个应该是接了内部的芯片,没有外接出来。看原理图上说接了eeprom。应该也是这样的。。按这个来说
原理图应该没问题,可能是emmc里面的系统设备节点不对应吧。。
Jian Zhou:
回复 xiansheng zeng:
这个是和驱动相关的,有可能debian的是把I2c2映射到/dev/i2c-1了。
我们的SDK只初始化了I2C0