首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >python smbus/i2c频率

python smbus/i2c频率
EN

Stack Overflow用户
提问于 2012-08-16 19:30:45
回答 3查看 5.2K关注 0票数 1

我想更改i2c总线频率,以便允许电缆稍长一些。

我正在使用python-smbus包,它确实工作得很好,但是,我无法找到如何设置总线频率。

我查看了整个docs,但找不到任何与设置总线参数有关的内容。

这是可以在python中完成的事情吗?或者我需要更低级的东西吗?

我使用的是Raspberry PI,它是一种ARM架构。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-09-26 00:22:28

我现在已经花了大量的时间来研究所有的选项。事实证明,正如另一篇文章中指定的那样,确实存在低级寄存器,然而,Raspberry-Pi的驱动程序在每次使用时都会重置它们的值,使得对它们的任何修改都几乎无用。解决方案是要么编写一个自定义的i2c驱动程序,要么简单地等待更新版本。

byval forum中可以找到一些较低级别的信息。

票数 0
EN

Stack Overflow用户

发布于 2017-02-22 16:04:43

在带有最新Jessie图像的Raspberry Pi上,您可以使用以下命令检查当前的I2C频率:

sudo cat /sys/module/i2c_bcm2708/parameters/baudrate

要更改频率,可以添加/更改此参数:

dtparam=i2c_baudrate=50000

(将50000替换为所需频率)中:

/boot/config.txt

并重新启动以更改频率。

票数 2
EN

Stack Overflow用户

发布于 2012-08-25 20:26:42

你必须在较低的层次上做一些事情。通常,这些东西是由内核中的board file设置的。除了分配资源之外,我没有看到i2c做了什么特别的事情,所以它可能只是使用默认的时钟除数。如果您查看datasheet的第28页,您将看到默认值为0x5dc。您需要为该寄存器设置一个不同的值(可能更大),以应对较长的电缆。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11986178

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档