Raspberry Pi 5 I²C 和 ADC 项目实践
1. I²C 总线通信基础
I²C 总线通信是一种常见的通信方式,其基本通信过程如下:
1. 主设备在总线上发送要通信的从设备地址。
2. 最低有效位(LSB)是 R/W 位,用于确定数据传输方向,R/W = 0 表示从主设备到从设备,R/W = 1 表示从从设备到主设备。
3. 发送所需字节,每个字节间穿插一个 ACK 位,直到出现停止条件。
对于某些从设备,可能需要单独的事务。例如,从 I²C 兼容的内存设备读取数据的步骤如下:
1. 主设备以写模式(R/W = 0)开始事务,在总线上发送从设备地址。
2. 将要读取的内存位置作为两个字节发送(假设为 64Kbit 内存)。
3. 主设备发送 STOP 条件结束事务。
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 引脚使用
超级会员免费看
订阅专栏 解锁全文
64

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



