Raspberry Pi 5 I²C与相关项目应用指南
1. I²C总线通信原理
I²C总线通信过程如下:
- 主设备在总线上发送要通信的从设备地址。
- 最低有效位(LSB)是R/W位,用于确定数据传输方向,R/W = 0表示从主设备到从设备,R/W = 1表示从从设备到主设备。
- 发送所需字节,每个字节间穿插一个ACK位,直到出现停止条件。
根据从设备类型,有些事务可能需要单独的事务。例如,从I²C兼容的内存设备读取数据的步骤如下:
1. 主设备通过在总线上发送从设备地址,以写模式(R/W = 0)启动事务。
2. 将要读取的内存位置作为两个字节发送(假设为64Kbit内存)。
3. 主设备发送停止条件结束事务。
4. 主设备通过在总线上发送从设备地址,以读模式(R/W = 1)启动新事务。
5. 主设备从内存读取数据。如果按顺序读取内存,则会读取多个字节。
6. 主设备在总线上设置停止条件。
2. Raspberry Pi 5的I²C引脚
Raspberry Pi 5的40针GPIO头有2组I²C引脚,具体如下:
| GPIO编号 | 引脚名称 | 物理引脚号 |
| ---- | ---- | ---- |
| GPIO 2 | SDA1 | 3 |
| GPIO 3 | SCL1 | 5 |
| GPIO 0 | SDA0 | 27 |
| GPIO 1 | SCL0 | 28 |
I²C引脚到+3.3 V使用1.8 Kilo Ohm上拉电阻。由于I²C引脚被上拉到+3.3 V
超级会员免费看
订阅专栏 解锁全文
27

被折叠的 条评论
为什么被折叠?



