树莓派i2c学习笔记
为了能够通过树莓派操作tsl2561光照采集模块,需要先具备一些树莓派上关于i2c的基本知识,不然会碰到一大堆莫名其妙的failure,是对心灵和学习动力的harsh shock.
使用设备:树莓派4b
- i2ctool
i2ctool是一种能够调试树莓派上i2c设备的工具。以下是一些基本命令:
I2C总线扫描:i2cdetect -l 可以返回树莓派上的i2c总线
I2C设备查询:i2cdetect -y 1 该命令能够检测i2c总线上有哪些设备,-y代表取消用户交互。
寄存器内容导出:i2cdump -y 1 addr addr是设备从机的地址
寄存器内容写入: i2cset -y 1 addr addr_mem data addr是设备从机的地址,addr_mem是存储器的地址,data是要写入的数据
寄存器内容读出:i2cget -y 1 addr addr_mem addr是设备从机的地址,addr_mem是存储器的地址
2. bcm2835
使用gpio readall可以显示当前树莓派版本引脚的编号对应,比较好用
3. smbus
SMBus (System Management Bus) is a subset from the I2C protocol.
问题描述:
Q:为什么正确地连接了设备后,使用i2cdetect -y 1指令依然搜索不到设备?
A:这个问题一开始我也不大清楚,不够后来过了一段时间以后就能搜到了,可以试试看等一段时间效果如何(我后来发现把t型转接器插紧一点,马上就能检测到了)