- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我尝试过通过 I2C 在 RPi3 和 stm32 之间进行通信。首先我安装了 i2c-tools 和 python-smbus。总而言之,我在 RPI 上使用了 python 脚本,如下所示:
import smbus
bus = smbus.SMBus(1)
address = 0x0A
data = [1,2,3,4,5,6,7,8]
bus.write_i2c_block_data(address, 0, data)
当我运行脚本时,我可以看到以下错误:
IOError: [Errno 121] Remote I/O error
STM32 配置为 I2C 从设备,两个设备都正确连接(SDA、SCL 和 GND)。我怎么知道的?我已经使用 BCM2835 库制作了程序。 C 程序运行正常。 C 程序发送缓冲区没有任何错误。 STM32 也收到了没有任何错误的缓冲区。你能告诉我,我做错了什么吗?
提前谢谢你。
最佳答案
我遇到了同样的问题。我发现当没有从站确认主站发送的命令时,会出现错误代码 121。如果您尝试联系一个未使用的地址或命令不是从设备所期望的,就会发生这种情况。
在我的例子中,我尝试向 TLC59116 发送重置命令。这些 IC 需要地址 0x6B 上的命令“0xA5 0x5A”。
所以我尝试发送与您类似的代码段:
import smbus
bus = smbus.SMBus(0)
address = 0x6B
data = [0xA5,0x5A]
bus.write_i2c_block_data(address, 0, data)
但在原始通信中,此命令会导致消息 [0x00 0xA5 0x5A],具有领先的起始寄存器地址,这些 IC 不允许并使用 NACK -> 错误 121 正确回答。
奥特:我通过发送解决了我的问题
bus.write_byte_data(address,0xA5,0x5A)
关于raspberry-pi3 - RPI 上的 SMBUS 给出 IOError : [Errno 121] Remote I/O error,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45324851/
我正在使用 this code 创建海拔 ai ,并在帖子末尾指出, To compile, make sure you downloaded the smbus.c and smbus.h file
我想更改 i2c 总线频率,以便允许稍长的电缆。 我正在使用 python-smbus 包,它工作得很好,但是,我无法找到如何设置总线频率。 我已经浏览了docs但无法找到与设置总线参数相关的任何内容
我有一个简单的功能 #define AMB_FILTER 0.7f int32_t fValue; (this is declared in the class header) int32_t Amb
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 这个问题似乎不是关于 a specific programming problem, a softwar
我试图通过从我的 PC 发送读取请求来从 Arduino 微 Controller 读取一些值,但它没有触发请求回调,而是触发了接收,这根本没有意义吗?我正在运行 I2C,因此 SMBus 似乎要慢得
晚上好 我一直致力于与我的硬盘进行 SMBus 通信,并且能够通过一个名为 readwriteeverything 的程序读取值。现在,我想创建自己的程序来在导入 smbus 的 python 中读写
我是树莓派的新手,我一直在研究一些 i2c 示例。当我运行以下代码时,我收到了一个IO Error: [Errno 22]Invalid argument: import smbus bus = sm
如何使用 bcm2835 库更改 mlx90614 的从机地址?我尝试过以下代码... int main() { // Buffer, where I store data which I'll
我已经研究了一个月,但仍然找不到解决这个看似困难的问题的方法。具体来说,我想从 W83793 chip 读取温度,在 Windows 机器上使用 C#。我几乎没有低级编程经验。我所知道的是,为了从该芯
我尝试编译一些代码,并在尝试编译时收到此响应: ./smbus.c:26:23: fatal error: i2c/smbus.h: No such file or directory compila
使用 i2C 在 RaspberryPi 和 Arduino 之间进行通信。在我的 Python 代码中,我有以下内容,其中 foo 表示 0-255 之间的整数。 问题是当该值大于 255 时,根据
我正在尝试在 Raspberry Pi 上使用 python-smbus 与使用 I2C 的 MMA7660 加速度计芯片进行通信。 在下面的代码中,我正在读取芯片的寄存器 0x00、0x01、0
我正在使用 OMAP 3730 开发一个嵌入式 Linux 项目。我们使用的是 3.2.23 版本的内核。 I2C 工作正常,我可以在总线 #2 上看到板上的各种传感器。 I2C 总线 #3 仅连接了
我正在设置 Raspberry Pi 以记录来自 Sensirion SCD30 传感器的数据(CO2、湿度和温度)。我的代码使用 Python 3,使用 SMBus 库通过 Raspberry Pi
我需要从 Linux C++ 程序管理 SMBus 设备。 我可以打开设备 (/dev/i2c-0),但我发现所有 i2c_smbus* 函数(i2c_smbus_write_word_data、i2
我已经连接了一个 Raspberry Pi和 Rainbowduino连同自制I²C电平转换器,并安装了 Python模块 SMBus , Raspberry Pi 可以与 Rainbowduino
我尝试过通过 I2C 在 RPi3 和 stm32 之间进行通信。首先我安装了 i2c-tools 和 python-smbus。总而言之,我在 RPI 上使用了 python 脚本,如下所示: im
我一直在寻找标题中提到的错误的答案,但我还是第一次得到答案。我们将尝试让我的 Raspberry pi 读取模拟数据,但是当我在终端窗口中运行代码时,它给了我“IOError:[Errno 5] In
我是一名优秀的程序员,十分优秀!