Raspberry Pi Pico 与 SD 卡接口
Source: Dev.to
介绍
外部存储可以瞬间把微控制器项目从演示版升级为实用版。SD 卡提供数 GB 的非易失性存储,几乎不需要额外工作,非常适合记录传感器数据、保存配置文件或存储时间戳。
在本指南中,你将构建一个 Raspberry Pi Pico SD‑卡模块,并通过串行监视器与之交互。你将能够实时创建文件、写入自定义文本、读取数据以及删除文件——这对于理解嵌入式系统如何处理外部存储非常有帮助。该项目对初学者友好,是进入更高级数据记录构建的坚实基础。
组件
| 组件 | 数量 |
|---|---|
| Raspberry Pi Pico | 1 |
| SD 卡模块(SPI,3.3 V) | 1 |
| microSD 卡(FAT32) | 1 |
| 面包板和跳线 | 视需要而定 |
| USB 数据线 | 1 |
接线 (Pico ↔ SD 卡模块)
| Pico 引脚 | SD 卡引脚 |
|---|---|
| 3V3 | VCC |
| GND | GND |
| GP19 | MOSI |
| GP16 | MISO |
| GP18 | SCK |
| GP17 | CS |
这些连接使用 SPI0,在 Arduino‑Pico 核心中可直接使用。
准备 SD 卡
- 确保卡已格式化为 FAT32。
- 删除所有现有分区。
- 创建单一主分区(MBR)。
- 将该分区格式化为 FAT32。
注意: 对于大于 32 GB 的卡,可使用 Rufus 或 GUIFormat 等工具强制进行 FAT32 格式化。
常见错误
| 问题 | 症状 | 解决方案 |
|---|---|---|
| exFAT 格式 | “SD init FAILED” | 重新格式化为 FAT32 |
| GPT 分区 | 卡未检测到 | 转换为 MBR |
| 卡松动 | 无响应 | 重新稳固插入 |
常见问题
-
为什么我的 64 GB SD 卡不能工作?
大多数 64 GB 卡默认使用 exFAT 或 GPT。请将其重新格式化为 FAT32 并使用 MBR 分区。 -
可以与其他传感器共享 SPI 吗?
可以,只要每个设备都有独立的片选(CS)线,并在软件中正确管理总线。 -
模块应该使用 5 V 电源吗?
不应该。模块应从 Pico 的 3.3 V 电源供电,以避免电平转换问题。 -
支持的最大 SD 卡容量是多少?
Pico 的 SPI 驱动支持最高 2 TB 的卡,只要它们已格式化为 FAT32 并使用 MBR。
进一步阅读
如需更深入的教程,请参阅 [Raspberry Pi Pico SD Card Module guide]。