我想更改 i2c 总线频率以允许使用稍长的电缆。
我正在使用 python-smbus 包,它工作得很好,但是,我无法找到如何设置总线频率。
我浏览了文档,但找不到任何与设置总线参数相关的东西。
这是可以在 python 中完成的任何事情,还是我需要更低级别的东西?
我正在使用 Raspberry PI,它是一种 ARM 架构。
我想更改 i2c 总线频率以允许使用稍长的电缆。
我正在使用 python-smbus 包,它工作得很好,但是,我无法找到如何设置总线频率。
我浏览了文档,但找不到任何与设置总线参数相关的东西。
这是可以在 python 中完成的任何事情,还是我需要更低级别的东西?
我正在使用 Raspberry PI,它是一种 ARM 架构。
在带有最新 Jessie 映像的 Raspberry Pi 上,您可以使用它来检查当前的 I2C 频率:
sudo cat /sys/module/i2c_bcm2708/parameters/baudrate
.
要更改频率,您可以添加/更改此参数:
dtparam=i2c_baudrate=50000
(将 50000 替换为所需的频率)在:
/boot/config.txt
并重新启动以更改频率。
我现在已经花费了大量时间研究所有选项。事实证明,确实存在其他帖子中指定的低级寄存器,但是,Raspberry-Pi 的驱动程序在每次使用时都会重置它们的值,对它们进行任何修改都几乎没有用。解决方案是编写自定义 i2c 驱动程序或只是等待更新版本。
一些较低级别的信息可以在byval 论坛中找到。