ESP32学习笔记:让SD卡发光发热
创作时间:
作者:
@小白创作中心
ESP32学习笔记:让SD卡发光发热
引用
1
来源
1.
https://www.cnblogs.com/FBsharl/p/18242748
本文将介绍如何在ESP32开发板上使用SD卡进行数据存储。通过硬件连接、软件库的使用以及示例代码的讲解,帮助读者掌握这一实用技能。
原理图
图 SD卡部分
图 MCU中与SD卡相关的接口
连接关系如下:
- ESP32 IO26 – CS MICROSD
- ESP32 IO23 – MOSI(DI) MICROSD
- ESP32 IO19 – MISO(DO) MICROSD
- ESP32 IO18 – SCK MICROSD
- ESP32 GND – GND MICROSD
- 3.3V – VCC MICROSD
软件
我们将使用SD卡库用于沟通。您可以在此处下载:
https://github.com/nhatuan84/esp32-micro-sdcard
下载后,将其解压缩并将解压缩的文件夹复制到Arduino文件夹下的libraries文件夹。
这个库提供了一些类和接口:
初始化:
SD.begin(uint8_t cs, int8_t mosi, int8_t miso, int8_t sck)
使用SPI引脚初始化库
打开文件:
SD.open(filename, FILE_WRITE)
打开文件进行写入SD.open(filename)
打开文件进行读取SD.open("/")
打开sdcard at root "/"
打开遍历目录:
openNextFile()
遍历目录name()
获取文件名或目录isDirectory()
检查条目是否为目录
读写文件&获取文件属性:
size()
获取文件大小close()
关闭打开的条目println(文本)
将文本写入打开的文件available()
检查可用的数据readingread()
如果数据可用则读取数据close()
关闭打开的文件
以下是相应的代码:
/*******************************************************
ESP32 测试SD卡
功能:对SD卡进行文件的写&读操作
引脚:
[ESP32 IO26 – CS MICROSD]
[ESP32 IO23 – MOSI(DI) MICROSD]
[ESP32 IO19 – MISO(DO) MICROSD]
[ESP32 IO18 – SCK MICROSD]
*******************************************************/
#include <SPI.h>
#include <mySD.h>
#define CS_PIN 26
#define MOSI_PIN 23
#define MISO_PIN 19
#define SCK_PIN 18
File root;
void setup()
{
Serial.begin(115200);
Serial.print("Initializing SD card...");
/*初始化SD库SPI引脚*/
if (!SD.begin(CS_PIN, MOSI_PIN, MISO_PIN, SCK_PIN)) {
Serial.println("initialization failed!");
return;
}
Serial.println("initialization done.");
/*从根目录root“/”*/
root = SD.open("/");
if (root) {
printDirectory(root, 0);
root.close();
} else {
Serial.println("error opening test.txt");
}
/*打开“test.txt”写入*/
root = SD.open("test.txt", FILE_WRITE);
/*如果成功打开 - > root!= NULL 然后写字符串“Hello world!”*/
if (root) {
//root.println("testing 1, 2, 3.");
root.println("Hello world!");
root.flush();
/*关闭文件 */
root.close();
} else {
/* 如果文件打开错误,则打印错误 */
Serial.println("error opening test.txt");
}
delay(1000);
/*写完后再重新打开文件并读取它 */
root = SD.open("test.txt");
if (root) {
/* 从文件中读取,直到其中没有其他内容 */
while (root.available()) {
/* 读取文件并打印到串口监视器*/
Serial.write(root.read());
}
root.close();
} else {
Serial.println("error opening test.txt");
}
Serial.println("done!");
}
void loop()
{
}
最终将SD卡插入电脑,可以看出成功写入了数据:
思维扩展
使用SD卡来存储数据。因为SD卡容量大,所以与EEPROM相比可以存储更多数据。为什么SD卡对ESP32很有用?如您所知,ESP8266和ESP32在物联网应用中更受欢迎。他们可以保留以下角色:
- 客户端从传感器收集数据,如温度或湿度或事件日志,并将这些数据保存到SD卡中。
- 使用SD卡存储网页,图像,javascript等的Web服务器,它将返回给客户端请求。
热门推荐
春华秋实:形容努力后收获的成语典故
Prometheus监控Node.js应用:阿里云Kubernetes集群实战
红烧鱼调味秘籍:掌握这些比例,轻松做出餐厅级美味
低脂少盐红烧鱼,健康吃货的新宠
少吃甜食多食素,专家推荐饮食疗法应对打嗝困扰
平乐古镇冬季摄影指南:从设备到构图全解析
冬季滋补,黄牛肉这样做才好吃!
草鱼红烧,秒变餐桌焦点
黑胡椒酱与牛排的最佳搭档:从经典到创新的完美演绎
自制黑胡椒酱,变身西餐大厨!
平乐古镇:茶马古道第一镇,竹麻号子唱响两千年
结婚率走低,房价背锅?真相没那么简单
中国婚姻家庭变迁:新趋势与新特点
黄牛肉选购指南:鲜嫩又营养的秘密
2025福字金银币预约火爆,创新设计助推收藏热潮
芍药栽培技术要点:从选地到养护的科学方法
字币收藏新手指南:知选护交四步走
陶瓷桌清洁与保养:10个实用技巧延长使用寿命
川菜爱好者必学:大盘鱼完美烹饪法
韩剧《请和我的老公结婚》:BoA遭吐槽,李伊庚获赞
草鱼虾仁大盘鱼,家庭聚餐必备
家居维修指南:从木质到布艺,各类家具损坏修复法
卡瓦石 vs 和田玉:专业鉴别指南
增减侧板调节体积,新型蜂箱破解传统养蜂难题
掌握这四点,让你的婚礼致辞既走心又得体
中国婚俗全攻略:7大通用礼仪+12地特色风俗
穿越十年改写命运,《请和我的老公结婚》掀起韩剧新热潮
《请和我的老公结婚》:从重生到复仇,一部揭示婚姻真相的悬疑剧
腊八节的佛教传说与文化内涵
春季格子箱养蜂:从箱体结构到管理增产全攻略