Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/280.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Raspberry Pi i2c读/写错误_Python_C++_Raspberry Pi_Raspbian_I2c - Fatal编程技术网

Python Raspberry Pi i2c读/写错误

Python Raspberry Pi i2c读/写错误,python,c++,raspberry-pi,raspbian,i2c,Python,C++,Raspberry Pi,Raspbian,I2c,像许多人一样,我有一段时间的Pi,但从来没有真正用它做过任何事情。我终于有时间连接一个MPU6050 IMU玩了。它使用i2c进行通信,因此我遵循了Adafruit关于启用i2c的指南 然后,我将MPU6050连接到i2c总线,使用i2cdetect-Y1,我能够看到0x68处的设备 然而,当我尝试从设备读写时,我遇到了一个权限被拒绝的错误,所以我按照这篇文章来解决这个问题。它告诉我修改/lib/udev/rules.d/60-i2c-tools.rules KERNEL=="i2c-0"

像许多人一样,我有一段时间的Pi,但从来没有真正用它做过任何事情。我终于有时间连接一个MPU6050 IMU玩了。它使用i2c进行通信,因此我遵循了Adafruit关于启用i2c的指南

然后,我将MPU6050连接到i2c总线,使用i2cdetect-Y1,我能够看到0x68处的设备

然而,当我尝试从设备读写时,我遇到了一个权限被拒绝的错误,所以我按照这篇文章来解决这个问题。它告诉我修改/lib/udev/rules.d/60-i2c-tools.rules

KERNEL=="i2c-0"     , GROUP="i2c", MODE="0660"
KERNEL=="i2c-[1-9]*", GROUP="i2c", MODE="0666"
<>这是有效的,但是当实际使用C++进行读写时,我会得到“输入/输出错误”。类似地,在Python中使用smbus时,我会得到
[Errno 5]输入/输出错误
当连接到Arduino时,我可以让这个设备完美工作

我已经用尽了我能找到的所有论坛帖子。希望我只是做了些蠢事。有人有什么想法吗?

原始型号B RPi运行Raspbian,如果有帮助的话


干杯

在正常情况下,您实际上不需要更改/lib/udev/rules.d/60-i2c-tools.rules文件,因此我建议重新安装raspbian

将MPU6050连接到正确的针脚:

然后下载官方的Adafruit库:

检查Raspberry Pi的I2C是否已使用
$sudo raspi config
启用,并确保I2C地址正确,此外,还要使用
$i2cdetect-y 1
进行检查,如下所示:

试试看:
总线=ADAUI2C(地址=0)
打印(“可访问默认I2C总线”)
除:
打印(“访问默认I2C总线时出错”)
mcp=无
对于范围内的i(0x00,0x28):
尝试:
mcp=ADAFURITY\U MCP230XX(地址=i,数量=16)
打破
除:
通过

您可以发布python代码吗?