基于arduino的ESP32 学习笔记(五)SD卡使用

前言

本文的目的是为了给将要制作的ESP32手环做技术储备

记录使用ESP32的SPI接口操作SD卡,暂时不涉及文件读写,主要验证硬件可行性

硬件准备

  • ESP-WROOM-32E开发板

  • micro SD卡

  • micro SD卡插槽模块

软件准备

  • VSCODE+PlatformIO

使用过程

改MISO引脚

通过ESP32数据手册,结合雉晖君的github:GPIO12作为启动电压选择引脚,默认设置为下拉,而作为HSPI的MISO,与SD卡插槽连接的时候,被SD卡插槽上拉电阻拉高,会导致启动失败,所以首先要将MISO改为其他引脚

在这里插入图片描述

硬件接线

按照上面截图的方式接线,要注意ESP32的MISO应该接SD卡插槽模块的MISO,这个还是听令我费解的,不像串口模块那样RXTX要对调

程序编写

写了一段读取SD卡信息的代码,测试SD卡是否驱动成功

#include <Arduino.h>
#include <FS.h>
#include <SPI.h>
#include 
Arduino ESP32平台上下载文件到SD中,通常需要使用SD库以及ESP32的文件系统库(FS)。以下是将文件下载到SD中的基本步骤: 1. 准备工作:确保你有一个SD模块与ESP32开发板正确连接,并且SD已经格式化为FAT32或者exFAT格式,并且在ESP32上已经安装了SD库和文件系统库。 2. 编写代码:使用Arduino IDE编写代码,首先需要包含SD库和文件系统库的头文件。然后在setup()函数中初始化SD,并在loop()函数中编写代码以实现从网络、串口或其他接口接收到的文件数据写入SD。 3. 实现下载功能:根据你想要下载文件的来源,实现相应的读取逻辑,例如从HTTP服务器下载,则需要使用ESP32的WiFi库建立网络连接,然后使用HTTP客户端从指定的URL下载文件。从串口下载,则需要通过串口通信接收数据。接收完毕后,将数据写入到SD中创建的文件里。 4. 异常处理:确保你的代码中有相应的错误处理逻辑,以应对SD初始化失败、文件写入错误等问题。 这里提供一个简化的示例代码框架,用于从串口下载数据并写入SD: ```cpp #include "FS.h" #include "SD.h" #include "SPI.h" const int chipSelect = 5; // 根据实际连接修改CS引脚 void setup() { Serial.begin(115200); while(!Serial); if (!SD.begin(chipSelect)) { Serial.println("Card Mount Failed"); return; } uint8_t cardType = SD.cardType(); if (cardType == CARD_NONE) { Serial.println("No SD card attached"); return; } // 创建并打开文件 File dataFile = SD.open("/example.txt", FILE_WRITE); if (!dataFile) { Serial.println("error opening example.txt"); return; } // 示例:向文件写入数据 dataFile.println("Hello, world!"); dataFile.close(); // 关闭文件 } void loop() { // 这里可以添加从串口读取数据并写入SD的代码 } ```
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值