I2C(玩转树莓派系列)

一:I2C简介
I2C–两线式串行总线 – 同步通信的特殊形式
通过串行数据(SDA)线和串行时钟(SCL)线连接到总线的器件间传递信息,每个器件都有一个唯一的地址识别,而且都可以作为一个发送器或接收器(由器件的功能决定),LCD只能作为接收器,而存储器可以接收也可以发送。
二:配置I2C接口,读取i2c设备的地址

  1. 可以通过raspi-config配置 或者通过编辑/boot/config.txt文件加入:
    dtparam=i2c1=on
    dtparam=i2c_arm=on

2. 安装I2C库和工具
sudo apt-get install i2c-tools

3 . 连接上设备后,通过一下命令查看
sudo i2cdetect -y -a 1

三, 对i2c设备寄存器读写

1.设备所有数据的读出
sudo i2cdump -y 1 0x2a
-y代表取消用户交互过程,直接执行命令
1 代表i2c设备号
0x2a代表设备地址
该命令会到处0x00 到0xff范围内的所有数据

  1. 数据的写入
    使用
    sudo i2cset -y 1 0x2a 0x1a 0x55
    即可向设备地址为0x2a的0x1a的存储器地址写入0x55

3, 寄存器数据读出
sudo i2cget -y 0x2a 0x1a
即可读出总线地址为0x2a设备的0x1a寄存器的数据

4, 对16位数据的度
在基本的命令后面加上w即可实现

四,i2c编程
sudo apt-get install python-smbus

import smbus

或者import smbus.SMBus

创建一个smbus实例
b = smbus.SMBus(1)

0 代表/dev/i2c-0 1 代表/dev/i2c-1
具体根据使用树莓派的那个i2c来决定

# 使用i2c函数
b.read_byte_data(0x2f, 0x58)

  • 1
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值