首页 > 其他分享 >【esp32 学习笔记】让SD卡发光发热~

【esp32 学习笔记】让SD卡发光发热~

时间:2024-06-11 21:33:45浏览次数:29  
标签:esp32 笔记 MICROSD println Serial 打开 root 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():检查可用的数据reading

read():如果数据可用则读取数据

close():关闭打开的文件

以下是相应的代码:

 

/*******************************************************
   ESP32 测试SD卡
   功能:对SD卡进行文件的写&读操作
   引脚:GPIO26 -> CS  GPIO14 -> MOSI(DI) GPIO12 -> MISO(DO) GPIO27 - SCK 
 *******************************************************/
#include  
#include 

File root;

void setup()
{
  Serial.begin(115200);
 
  Serial.print("Initializing SD card...");
/*初始化SD库SPI引脚*/ 
  if (!SD.begin(26, 14, 12, 27)) {
    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("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()
{
}

 

标签:esp32,笔记,MICROSD,println,Serial,打开,root,SD
From: https://www.cnblogs.com/FBsharl/p/18242748

相关文章

  • C语言笔记第14篇:动态内存管理
     1、为什么要有动态内存分配我们已经掌握的内存开辟方式有:创建变量charc=0;inta=0;intarr[10]={0};但是上述的开辟空间的方式有两个特点:空间开辟大小是固定的数组在声明的时候,必须指定数组的长度,数组空间一旦确定了大小不能调整但是对于空间的需求,不仅仅是......
  • 充分发挥 EFSDUMP 的强大功能,使用教程 更加高效地进行加密文件系统的管理和审计。请根
    EFSDUMP的基本用法大纲:1.查看帮助信息bashCopyCodeefsdump--help这个命令将显示EFSDUMP的帮助信息,包括可用选项和参数的说明。2.提取加密文件信息bashCopyCodeefsdump<file_path>通过指定要提取信息的加密文件路径,可以使用EFSDUMP命令来获取该文件的加密属性、......
  • ESP32学习笔记:NVS分区永久保存数据
    程序示例:/*ESP32startupcounterexamplewithPreferenceslibrary.ThissimpleexampledemonstratesusingthePreferenceslibrarytostorehowmanytimestheESP32modulehasbooted.ThePreferenceslibraryisawrapperaroundtheNon-volatilestorage......
  • C137 线段树分治 P2147 [SDOI2008] 洞穴勘测
    视频链接: P2147[SDOI2008]洞穴勘测-洛谷|计算机科学教育新生态(luogu.com.cn)//线段树分治O(mlogmlogm)#include<iostream>#include<cstring>#include<algorithm>#include<vector>#include<map>usingnamespacestd;#definels(u<<1)......
  • [学习JWT安全]JWT安全的学习笔记
    学习了JWT(jsonwebtoken),下边是笔记......
  • vue初使用实例之笔记本
    <!DOCTYPEhtml><html><head><metacharset="utf-8"><metahttp-equiv="X-UA-Compatible"content="IE=edge"><title></title><metaname="des......
  • Spring学习笔记--1.IoC入门
    Spring学习笔记一、IoC入门1.什么是IoCIoC即控制反转,一个类不再主动控制创建自己所依赖的类,而是交给外部容器去控制创建自己所依赖的类。例如,有一个汽车厂,原本想要制作一辆汽车,需要自己制作发动机、轮胎、方向盘等零部件,汽车就是这个类,发动机和轮胎就是它的依赖项,这些依......
  • 算法课程笔记——树状数组基础
    算法课程笔记——树状数组基础如果不这样写会一直循环出错......
  • 2024年农业科学与可持续发展国际会议(ICASSD2024)
    2024年农业科学与可持续发展国际会议(ICASSD2024)会议简介2024年国际农业科学与可持续发展大会(ICASSD2024)很高兴邀请您提交主题为“农业科学和可持续发展的当前挑战和未来前景”的原稿。通过ICASSD2024,农业、食品和生物技术三个重要领域的完美融合将为研究人员、农学家、政策......
  • Stable diffusion 再现女皇武则天,SD图文教程
    本次教程使用的是文生图功能本次教程按照从上到下的操作顺序如下:①选好大模型,②输入关键词,③选好LORA模型,④设置出图参数,⑤设置ControlNet大模型:majicMIXrealistic麦橘写实_v7大模型可以在这里搜索,点击加入模型库就行了https://www.liblib.artStablediffus......