问题标签 [smbus]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
smbus - python cmbus2 块读取从 EEPROM 上的第二个内存地址开始
我正在连接 24LC512 和 47C16 EEProm/EERam
我在两个芯片上都存储了从位置 0 开始的多个字节。
在 24LC512 上,我得到了这些结果 - 请注意,当我使用 bus.read_i2c_block_data 执行块读取时,它从第二个内存位置开始。当我将指针重置回 0 并使用 bus.read_byte 读取时,它会读取 0 处的位置并将指针正确地增加 1
我在 47C16 上得到相同的结果
看来我没有正确使用 read_i2c_block_data - 尽管这是我在文档中读到的。我究竟做错了什么 ??
感谢您提供的任何指示
kernel-module - 英特尔 Z370 - PCIe 上的 SMBus
我这里有一张适合 PCIe 插槽的卡,上面有一些 SMBus 可控芯片。该卡是自行布局的,可以在一些较旧的主板上正常工作。在较新的主板(ASUS PRIME Z370-A)中,它无法正常工作。
该卡未使用 PCIe 接口,仅使用 PCIe 插槽。PRSNT1 和 2 之间没有连接,也没有连接到差分数据线。PCIe 插槽仅用于供电(引脚 A9、A19、B8 (+3.3V) - A4、A12、A15、A18、B4、B7、B13、B26、B18(GND))和 SMBus 接口(B5 (SMCLK ), B6 (SMDAT))。
不工作我的意思是我不能通过 SMBus 与它交谈。我正在尝试使用 i2c-dev 内核模块。i2cdetect -l 的输出是:(缩短,我去掉了nvidia卡的i2c devs)
在我看来,i2c-0 设备是正确的。当我在接口 0 上运行 i2cdetect 时,检测到了一些芯片,但没有检测到正确的芯片(它们有 addr 0x70 和 0x72)。总而言之,我试图通过 Intel 200 PCH 中的 SMBus 主控与我的 SMBus 从属芯片进行通信。
我也尝试了 1-4 号巴士,但结果相同。在另一块主板上,检测工作正常,如下所示。
此外,我用示波器测量了 PCIe 连接器的引脚 B5 和 B6。新主板上的这些引脚之一上没有时钟或数据信号。
我想我必须以某种方式配置它还尝试与 PCIe 插槽上的 SMBus 设备通信的内核模块。也许有人可以给我一个提示。
尽管没有出现关于内存区域重叠的警告,但我设置了内核选项 acpi_enforce_resources=lax 以确保没有 ACPI 内存绑定与 SMBus 控制器发生冲突。
一些输出
dmesg modprobe i2c-i801(内核模块的输出,抽象英特尔 SMBus 控制器)
i2cdetect 0(工作主板,i2c-0 上的 SMBus 控制器)
unname -a
python - smbus 处理 python 模式
您好,是否可以在处理 python 模式时使用smbus模块?当我尝试import smbus
处理时,我会收到一条错误消息:
python - Python传递输入字符串,其中包含空格并用于smbus
我的 ic2 代码是。
它工作正常。
我测试了这段代码。
经过
但是当我尝试代码时。
python test.py 0x20 0x14 0x01
Traceback(最近一次调用最后一次):文件“test.py”,第 16 行,在 bus.write_byte_data(var1, var2, var3)类型错误
:需要整数
我该如何解决?
api - windows下pcie中的smbus访问
我正在寻找一种方法来控制我的 PC 的 PCIe 插槽中的 smbus 线。该插槽中有一些通过 PCIe 连接的设备。我想通过 Windows 下的 SMBus 线路访问它。但找不到任何 API 用于此。
你能建议我怎么做吗?
python - IOError: [Errno 121] 远程 I/O 错误
我尝试连接液晶显示器并显示文本,但出现错误。LCD驱动没问题,smbus和I2C工具也安装正确。但我想知道为什么它不起作用。帮助。
python - python 3.7 导入 smbus ModuleNotFoundError 没有名为“smbus”的模块
我在我的树莓派零上成功构建了 python 3.7。现在当我使用以下命令运行我的程序时:
python3 DungeonCube.py
我收到以下错误:
我已经搜索了解决方案,似乎没有人在树莓派上使用 python 3.7 走到这一步。其他指南说要重新安装 smbus 或安装 smbus2,但这不起作用。
dpkg-query -L python3-smbus 显示:
apt-cache show python3-smbus 显示:
任何想法如何让这个工作?
加里·O。
python - 使用 Raspberry Pi Python SMBus 乱序接收的 I²C 字节
我正在设置一个 Raspberry Pi 来记录来自 Sensirion SCD30 传感器的数据(CO 2、湿度和温度)。我的代码在 Python 3 中,使用 SMBus 库通过 Raspberry Pi GPIO 中的 I²C 引脚与传感器进行通信。有一个命令可以确定传感器是否准备好发送数据。
Sparkfun 链接到 Arduino 的 SCD30 库
该值0x0202
通过 I²C 发送,并返回三个字节的数据:
前两个字节是数据就绪值的 MSB 和 LSB。结合得当,它们应该是0x0000
和0x0001
。
第三个字节是前两个字节的 CRC8。这是用 的多项式0x31
和 的初始化计算的0xFF
。
大约一半的时间,字节以错误的顺序发送。而不是MSB LSB CRC
它被发送MSB CRC LSB
。例如,如果数据准备就绪,它可能会发送0x00, 0xB0, 0x01
而不是0x00, 0x01, 0xB0
. 我无法弄清楚为什么会发生这种情况,并且我担心发送数据时存在一些损坏或问题。我可以更改代码以识别 CRC 是否是第二个字节,但我想找出根本问题。
我正在使用smbus
库发送和接收 I²C 数据。这是我发送命令和读取数据的代码:
对于我上面给出的示例,我将运行以下代码:
它将返回上面演示的三个字节的列表。
hardware - AMD X470 SMBus 规范
为了将代码移植到 Linux 系统,我对 Windows SMBus 驱动程序进行了逆向工程。为了与 SMBus 交互,代码使用基于系统芯片组的硬编码端口地址。就我而言,我使用的是基地址为 0xB20 的 AMD X470。
每个 SMBus 事务都会通过调用以下函数来终止:
请注意,以上是伪代码,这个问题与语言无关。
我的代码有两个问题。
- 它正在测试状态寄存器的第 7 位
0xB20
。文档状态位 5 : 7 被保留。我在阅读错误的文档吗?有人知道这个位是什么意思吗? 0xED
该循环读取我找不到任何文档的硬编码端口。调用总是返回0xFF
,但地址在我的系统上似乎无效。
关于问题 2,我在chromium-os 邮件列表中发现了一个对端口的模糊引用,它使用它来防止 IO 延迟写入端口 0x80。0xED 是任何类型的保留地址吗?
python - Python (Beaglebone Black) 上的 Writebyte 和 Readbyte esp QMC5883 出现 Errno 110
我找不到适合此 BBB Python 的代码,因为许多源代码会在 Raspberry Pi 和 Arduino 上表达更多。我正在使用 VMware 和 Ubuntu_18 来运行 linux 终端以运行我的 BBB。
这是我尝试在 QMC5883 磁力计上测试的几行代码,我正在尝试将 Arduino 转换为 Python 版本。
但是,错误一直出现如下,尤其是终端 BBB 上的 writebyte 和 readbyte
我要调用该函数的链接来自此 Adafruit_GPIO/I2C.py
即使使用 smbus 库,错误仍然相同
这里有人知道如何解决这个 Errno110 超时连接吗?我期待有人指导我,让 BBB Python 在 QMC5883 磁力计上运行。