首先百度了一波树莓派对I2C驱动的相关的信息发现树莓派wiringPi和我之前玩过的arduino 开发板相似基本都是库文件封装好后,然后使用就可以了,调用基本的函数,对基本的元器件可以这样使用,但是对于要求I2C比较严格的元器件而言,这个肯定是不合适的。
第一步,安装相关的I2C Tools
参考
http://www.embed-net.com/thread-143-1-1.html
第二不,安装wiringPi
http://www.arduino.cn/thread-21188-1-1.html
对于wiringPi 库使用方法以及相关的参数说明,在官网上都有介绍
http://wiringpi.com/
在使用I2C的时候,I2C的相关的设备在连接到树莓派的时候,需要进行相关的速度配置,请参考
http://blog.csdn.net/xukai871105/article/details/18234075
前期的初始化配置树莓派准备完毕后
首先我们使用
sudo i2cdetect -y 1
读出树莓派上挂载的I2C设备地址
然后我们根据地址导出寄存器数据
sudo i2cdump -y 1 0x77
即可导出I2C设备寄存器中的数据
-y 代表取消用户交互过程,直接执行命令
1 代表I2C设备号
0x77 代表I2C设备地址
导出成功后,我们尝试对其进行寄存器写入数据
使用
sudo i2cset -y 1 0x77 0x90 0x55
即可向设备地址为0x77的0x90寄存器地址写入0x55
-y 代表取消用户交互过程,直接执行命令
1 代表I2C设备号
0x77 代表I2C设备地址
0x90 代表寄存器地址
0x55 代表向寄存器写入的数据
然后查看我们的数据是否正确
寄存器数据读出
使用
sudo i2cget -y 1 0x77 0x90
即可读出总线地址为0x77设备的0x90寄存器地址的数据
-y 代表取消用户交互过程,直接执行命令
1 代表I2C设备号
0x77 代表I2C设备地址
0x90 代表寄存器地址
相关芯片资料以及代码
https://github.com/UAVmlxh/raspi