Linux下使用I2C通信进行读写操作(linuxi2c读写)
借助I2C通讯,设备可以实现远程控制,我们经常用来实现传感器组网,如供湿、温控的应用场景。在linux系统中,也经常用到I2C外设进行通信,比如LCD、触摸屏、光照度传感器等等。
下面简单介绍linuxOS下使用I2C进行读写操作:
1. 首先,必须载入I2C驱动模块,在linux中可以执行`modprobe i2c-dev`命令,在模块文件夹/lib/modules/`version`/kernel/drivers/i2c/中搜索i2c-dev,如果没有的话,需要使用 `sudo apt-get install libi2c-dev`安装i2c-dev依赖库,
2. 执行 `ls /dev/i2c*` 查看I2C设备,常见的I2C总线有 `/dev/i2c-0 ` 、`/dev/i2c-1` 、`/dev/i2c-2`等, 注意有的系统可能名字不一样。
3. 打开I2C设备 `fd=open(“/dev/i2c-1”,O_RDWR);`
4. 初始化I2C设备,也就是设置总线速率,也可以设置总线地址, `ioctl(fd,I2C_SLAVE,0x50);`
5. 这时就可以使用 `write()` 和 `read()` 函数进行读写操作了,具体函数可以参考相关书籍或者驱动文件。
要想熟练掌握I2C读写操作技巧,需要多练习,一定要对I2C原理比较熟悉,然后熟悉linux下的i2c驱动模式,最后多调试、尝试。
总的来说,I2C的核心思想是在器件上构建完整的网络,从而实现多设备的远程控制,在linux中也是非常常用的一种远程控制通信方式。