我正在尝试按照本教程http://www.raspberrypi-spy.co.uk/2014/11/enabling-the-i2c-interface-on-the-raspberry-pi/开启I2C

但是我有无法解决的问题。
命令i2cdetect -y 1返回

     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f
10: 10 11 12 13 14 15 16 17 18 19 1a UU 1c 1d 1e 1f
20: 20 21 22 23 24 25 26 27 28 29 2a 2b 2c 2d 2e 2f
30: 30 31 32 33 34 35 36 37 38 39 3a 3b 3c 3d 3e 3f
40: 40 41 42 43 44 45 46 47 48 49 4a 4b 4c 4d 4e 4f
50: 50 51 52 53 54 55 56 57 58 59 5a 5b 5c 5d 5e 5f
60: 60 61 62 63 64 65 66 67 68 69 6a 6b 6c 6d 6e 6f
70: 70 71 72 73 74 75 76 77


我不知道为什么它显示所有地址以及如何显示解决此问题。
我没有将任何东西连接到我的Raspberry Pi。我刚刚放了SD卡,并使用NOOBS安装了默认操作系统。但是,当出现问题时,我连接了我的RTC DS1307,但它不会影响i2cdetect输出。

评论

Pin 3是我的答案。我在第3针上有一个LED,当我移动它时,接口清空了。

#1 楼

通常,发生这种情况是因为某些东西将SDA(引脚3)拉低。

i2cdetect程序通过发送其地址然后让SDA悬空为高来检查设备是否存在。如果设备存在,则应将SDA拉低以表示其存在。

检查接线,确保SDA并未意外接地。

评论


我已经用万用表将第一根测试线放在SDA上,第二根测试线在GND上。我发现它们之间有联系。这是错的吗?

– wja
15年6月20日在22:08

检查引脚3和引脚6(接地)之间的电压。它应显示为3V3。如果没有,那是错误的。您是否已将任何东西(如带状电缆)连接到扩展接头?

–琼
15年6月20日在22:15

引脚3和6之间为0.06V。我没有任何设备连接。

– wja
15年6月20日在22:19

我会检查一下PCB走线,看是否有焊桥。您是否安装了gpio库?如果引脚3被有效地驱动为低电平,则它会读为低电平,但默认情况下,它应悬空为高电平。

–琼
15年6月20日在22:31

PCB看起来不错。我有更新的Raspbian。我以为只有当我想用Python编写代码时才需要gpio库。我应该安装python-rpi.gpio吗?也许还有其他的gpio库?

– wja
15年6月20日在22:37

#2 楼

修复了我的PI零...在SDA(引脚3)和SD卡插槽附近有两个电阻,用烙铁触碰了连接,现在可以使用。

#3 楼

就我而言,这是因为连接了损坏的i2c设备(我之前不小心将其反向连接到电压/接地)

尝试使用其他i2c设备

#4 楼

我通过重新启动解决了这个问题。我不确定发生了什么问题,但是我怀疑在尝试设置i2c模块之前使用SDA引脚作为按钮与我有关。我添加这个是为了防止其他人犯了类似的错误。