TI中文支持网
TI专业的中文技术问题搜集分享网站

关于beaglebone black i2c设备与header上不对应的问题

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

赞(0)
未经允许不得转载:TI中文支持网 » 关于beaglebone black i2c设备与header上不对应的问题
分享到: 更多 (0)