当前位置: 首页 > news >正文

ESP32之Flash操作

Flash是一种高速存储,Flash是可读可写的ESP32也为我们提供了这种机制的相应的函数。

以下面这个函数为例子我们来解析一下ESP32的Flash读取

void flashdev_READ(esp_partition_type_t type)
{

    uint8_t data[32]={0};
    const esp_partition_t *partition = esp_partition_find_first(
        type,
        ESP_PARTITION_SUBTYPE_ANY,
       NULL);


   esp_partition_read(partition, 0, data,32);
   for(int i=0;i<32;i++)
   {
    ESP_LOGI(TAG, "flash data 0x%x:",data[i]);

   }

esp32官方给出了高级函数,也就是不关注底层我们直接进行上层的操作

 esp_partition_read(partition, 0, data,32);这个函数就是作为读取的函数,第一个参数是一个指针我们调用esp_partition_find_firs函数将返回值给到这个参数,通过这个函数我们找到对应的位置查询这个位置开始的所有的地址,然后通过读取的函数将这个值读出来我们将读出来的值给到我们定义的uint8_t的data也就是我们将会读出32个字节的数据到这个data里面然后我们可以通过这个日志log将相关的数据打印出来最终实现将Flash中的数据读出的效果。进行Flash操作有什么用呢?答案是---》我们可以使用Flash进行暂存一些关键的数据,也可以通过写入相应的数据改写单片机的程序,例如OTA的升级其实也就是对flash数据的写和修改像是STM32会使用小端存储我们只需要以倒序写入相应的数据就可以实现程序的自我更新。

相关文章:

  • 数字人分身/123数字人/数字人直播
  • [51 单片机] --串口编程
  • 【华为OD机考】华为OD笔试真题解析(17)--打印文件
  • 2025-03-04 学习记录--C/C++-PTA 习题5-4 使用函数求素数和
  • 手动调整3DTiles倾斜模型的高度、位置、亮度
  • MWC 2025 | 紫光展锐联合移远通信推出全面支持R16特性的5G模组RG620UA-EU
  • HTML label 标签使用
  • 基于微信小程序的心理健康恢复系统+LW示例参考
  • 用DeepSeeker写小说构思 《故事大纲、主线、剧情风格》
  • 无人机遥控器无线传输技术解析!
  • 如何在随机振动分析中包括缓冲器
  • 【MySQL】与MongoDB的区别,字符集,三范式,存储引擎InnoDB、MyISAM
  • 【C++设计模式】第三篇:抽象工厂模式(Abstract Factory)
  • MySQL JOIN 与子查询深度对比:原理、性能陷阱与优化策略
  • 【C++学习篇】智能指针
  • 七、Redis 内存管理详解:模型、优化策略(LRU/LFU、对象共享)
  • 从零开始学 Node.js:完整安装与实战指南
  • vulnhub靶场之【digitalworld.local系列】的JOY靶机
  • 深入解析英文单词“Dime”——从硬币到篮球助攻
  • 滑动窗口法——实践中的BA
  • 微信公众平台怎么做微网站吗/网站搜索引擎优化方案的案例
  • 个人网站建设方案书 范文/模板免费网站建设
  • b2b网站备案/如何注册百度账号
  • 西平网站建设/中国舆情在线
  • 做旅游网站的研究意义/学历提升哪个教育机构好一些
  • 中小企业的网站建设 论文/个人网站的制作