最近在做一个产品,这个产品上面我们使用了OLED屏作为显示设备,OLED 屏是基于I2C总线与树莓派连接的,在运行过程中感觉屏幕的速度很慢,整个显示效果非常的不流畅。后来发现原来树莓派可以通过提升I2C总线的传输速度来提高OLED屏幕的显示速度。
首先,通过raspi-config
管理工具启用树莓派上的I2C接口。
sudo raspi-config
具体选项看下图:
完成后记得重启。
然后,进入命令行编辑config.txt
文件,这是最重要的一环:
sudo nano /boot/config.txt
找到包含 “dtparam=i2c_arm=on”
的行,并在后面添加:i2c_arm_baudrate=400000”
,这行的意思是将i2c的传输速率设定为40KBit/s
dtparam=i2c_arm=on,i2c_arm_baudrate=400000
保存并退出,重启后就大功告成了。
另外,据 BCM2835 ARM 外设说明 (第28页) 中提到 树莓派具有“快速模式(fast-mode)”的驱动,baudrate
可以在100000~400000之间取值。100000是默认值,所以我将其设置到400000就可以使树莓派启用I2C的快速模式。