我有一台基于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/

10-10 10:43