求教高手,在linux内核中怎么修改i2c的通信速率为400KHz

我内核版本是linux2.6.36,平台式ARM6410.
2025-04-28 02:22:32
推荐回答(2个)
回答1:

1、先查看I2C设备速率。

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

默认的I2C速度为100KHz,对于多数I2C设备而言100KHz并不算快。

2、修改I2C通信速率。进入/etc/modprobe.d目录,并在该目录下新建一个costom.conf文件,在该文件中插入options i2c_bcm2708 baudrate=400000,400000便为新的I2C速率400KHz,最后请重启系统。

cd  /etc/modprobe.d           #进入/etc/modprobe.d 目录
sudo nano custom.conf         #在该目录新建一个名为custom.conf文件,并插入以下内容
                              #options i2c_bcm2708 baudrate=400000
sudo reboot                   #重启系统

回答2:

会51吗?会C吗?如果不会的话就有点难度哦!会的话就学起来稍微轻松一点,只是轻松一点。学ARM肯定要先看汇编指令的,等指令看完了呢,就先看看别人写的汇编程序,能看懂就行了。然后了解ARM运行次序,首先不要过多的琢磨启动代码,只要理解启动代码是干些什么事就行,当然像有些ARM处理器是固化了启动代码的。先借用官方的或别人的启动代码用着,然后自己用C编写程序写些简单的程序像跑马灯啊、串口啊、I2C、SPI、AD、TFT、摄像头啊什么的,不过摄像头和TFT稍微难理解一点。先弄简单的,就当单片机一样用,这阶段主要是熟悉内部寄存器及其使用的。等资源懂了熟悉了,你再返过来看启动代码,那你就会豁然开朗。当然裸奔并不是ARM的精华部分,如果只是裸奔的话那么ARM就只能算个增强型单片机了,ARM的核心是操作系统的移植,及操作系统下应用程序、驱动程序的编写。WINDOWS CE的话容易入门点,但目前学LINUX的比较多,但难学一点,因为是免费开源的嘛!当然现在还有很多操作系统的,建议先弄懂一个。再弄其它。(注:这只是我个人学习ARM的见解,不一定适合每个人,希望对你有所帮助)