ESP32学习笔记-挂载SPIFFS读写本地Flash

写在前面

原来,ESP32还有本地存储!

这么小的东西,有GPIO、UART、I2C,还有蓝牙和WIFI,简直不要太完美!

测试代码

//加载库
#include "SPIFFS.h" 
#include "FS.h"

#define FORMAT_SPIFFS_IF_FAILED true

void setup()
{
  //开启串口
  Serial.begin(115200);
 
  //挂载FPIFFS
  Mount();
 
  //路径
  String path = "/hello.txt";
  //内容
  String str = "hello world !";
  //写入(覆盖)
  writeTxt_APPEND(SPIFFS,path,str);
 
  //读取
  String txt =  readTxt(SPIFFS,path);
  Serial.println( txt );
 
}
 
void loop()
{
  
}
 
 
//挂载FPIFFS
void Mount()
{
  //开启SD卡
  if(SPIFFS.begin())
  {
    //打印成功
    Serial.println("Mount succeed");
  }
  else
  {
    //打印失败
    Serial.println("Mount Failed");
  }
}
 
//写入(FILE_WRITE)
void writeTxt(fs::FS &fs,String path,String str)
{
  //打开文件
  File myFile = fs.open(path, FILE_WRITE);  //FILE_WRITE 覆写
 
  //如果文件打开,则进行写入
  if (myFile)
  {
    //打印开始
    Serial.println("Start write:" + path);
    //写入
    myFile.println(str);
    // 关闭文件
    myFile.close();
    //打印完成
    Serial.println("Complete write:" + path);
  }
  //如果文件没有打开,则打印错误
  else
  {
    Serial.println("error:Write failure");
  }
}
 
//写入(FILE_APPEND)
void writeTxt_APPEND(fs::FS &fs,String path,String str)
{
  //打开文件
  File myFile = fs.open(path, FILE_APPEND);  //FILE_APPEND 续写
 
  //如果文件打开,则进行写入
  if (myFile)
  {
    //打印开始
    Serial.println("Start write_APPEND:" + path);
    //写入
    myFile.println(str);
    // 关闭文件
    myFile.close();
    //打印完成
    Serial.println("Complete write_APPEND:" + path);
  }
  //如果文件没有打开,则打印错误
  else
  {
    Serial.println("error:Write failure");
  }
}
 
//读取
String readTxt(fs::FS &fs,String path)
{
  //创建返回值
  String txt;
  //打开文件
  File myFile = fs.open(path,FILE_READ);  //FILE_READ 只读
  //如果文件打开,则进行读取
  if (myFile)
  {
    //打印开始
    Serial.println("Start Read:" + path);
    //读取
    if( myFile.available() )
    {
      txt = myFile.readString();
    }
    //关闭文件打开状态
    myFile.close();
    //打印完成
    Serial.println("Complete read:" + path); 
  }
  //如果文件没有打开,则打印错误
  else
  {
    Serial.println("error:Read failure");
  }
  //返回
  return txt;
}

测试结果

  • 10
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ESP32-WROOM-32是一种集成了Wi-Fi和蓝牙功能的高性能片上系统(SoC)。为了实现串口烧录,我们需要编写一些代码并进行一些设置。 首先,我们需要将ESP32-WROOM-32连接到电脑上。我们可以使用USB到串口转换器将ESP32-WROOM-32的串口引脚(TX和RX)连接到电脑的USB端口上。 接下来,我们需要打开一个串口烧录工具,例如ESPlorer或Arduino IDE(通过安装适当的驱动程序)。在烧录工具中,我们需要选择正确的串口端口和波特率。通常来说,ESP32-WROOM-32使用115200的波特率。 然后,我们需要准备好要烧录的固件。这可以是由Arduino IDE生成的二进制文件(.bin),也可以是由ESP-IDF生成的其他格式的固件。我们可以从官方网站上下载ESP-IDF并按照相关的文档进行设置。 接下来,我们需要将ESP32-WROOM-32设置为烧录模式。我们可以在开发板上找到一个称为“BOOT”或“EN”(使能)的按钮或引脚,按下该按钮或将该引脚连接到地(GND)来使ESP32-WROOM-32进入烧录模式。 最后,我们可以点击串口烧录工具中的“烧录”按钮开始烧录。在烧录过程中,烧录工具会向ESP32-WROOM-32发送固件数据并执行烧录操作。烧录成功后,我们可以重启ESP32-WROOM-32并观察它的行为。 总结起来,ESP32-WROOM-32串口烧录需要连接电脑和ESP32-WROOM-32,选择正确的串口端口和波特率,准备好固件,并将ESP32-WROOM-32设置为烧录模式,最后点击烧录工具中的烧录按钮。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值