linux - 如何在 Linux 中设置 i2c 总线的波特率?

标签 linux ubuntu arm i2c baud-rate

我有一台基于 riko-3288 处理器的 ARM 计算机。 我还有带有自定义内核(没有模块系统)的设备的 Ubuntu 镜像。

我目前正在尝试为 i2c 总线设置高达 100KHz 的波特率。 我不是 Linux 专家,我不知道我必须为此做些什么。 i2c总线以更高的波特率工作,我认为它超过1MHz。

我读到我必须在引导加载文件中编写这样的命令“dtparam=i2c_arm=on,i2c_arm=on_baudrate=100000”。 我的引导加载文件如下:

{boot-partition}/extlinux/extlinux.conf

label kernel-4.4
    kernel /zImage
    fdt /rk3288-miniarm.dtb
    append  earlyprintk console=tty1 console=ttyS2,115200n8 rw root=/dev/mmcblk1p7 rootfstype=ext4 init=/sbin/init

我尝试将命令传递给追加字符串,并尝试了一些不同的命令,但没有任何效果。

你能告诉我如何更改 i2c 总线的波特率吗?

附言并且有人知道如何在操作系统中获取波特率吗?

最佳答案

我在这里找到了简单的解决方案。 http://www.chip-community.org/index.php/Troubleshooting#I2C_.2F_TWI_problems

为了我的事业:

sudo apt update
sudo apt install device-tree-compiler
sudo mount /dev/mmcblk1p6 /mnt # {boot-partition}
sudo cp /mnt/rk3288-miniarm.dtb /boot/rk3288-miniarm.dtb.bak
sudo fdtput --type u /mnt/rk3288-miniarm.dtb i2c4 clock-frequency 50000
sudo systemctl reboot

关于linux - 如何在 Linux 中设置 i2c 总线的波特率?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50288467/

相关文章:

linux - 向 ROS 发送消息时遇到问题

python - 在 Linux 上打印重音时出现异常

Java .jar 文件在存在时找不到系统文件并且遵循正确的路径

php - 如何在ubuntu 17.10中安装php5.5

来自终端的 C 变量

linux - 如何从 Linux 中的用户空间访问物理地址?

linux - 在 bash 中替换/更新文本文档中的列值

memory - 启用 ARMv7 VMSA 内存管理单元?

linux - 将函数指针从内核驱动程序传递到管理程序

ubuntu - vagrant 无法连接到虚拟框