ESP32 NVS同windows文件系统的类比,附上一段NVS操作的代码解析

ESP32 NVS同windows文件系统的类比,附上一段NVS操作的代码解析

在这里插入图片描述

下面例程是在NVS区域记录ESP32重启次数。

在这里插入图片描述

源码是改写Hello_world官方例程:

#include <stdio.h>#include “sdkconfig.h”#include “freertos/FreeRTOS.h”#include “freertos/task.h”#include “esp_system.h”#include “esp_spi_flash.h”#include “nvs_flash.h” //michael add for NVS test#include “esp_log.h”//michael add for NVS test
void app_main(void){
vTaskDelay(1000/portTICK_PERIOD_MS);//阻止flash esp32后下面程序被立即执行 char * michael_nvs_namespace = “michael2”;//namespace类似windows的文件夹 nvs_flash_init(); nvs_handle_t michael_handle; nvs_open(michael_nvs_namespace,NVS_READWRITE,&michael_handle);//取得namespace句柄
uint32_t counter_val = 0;//value类似windows的文件内容 char * counter_key = “counter”;//key类似windows的文件名 nvs_get_u32(michael_handle,counter_key,&counter_val); ESP_LOGI(“nvs”,“KEY:VALUE %s:%d”,counter_key,counter_val);
counter_val = counter_val + 1; nvs_set_u32(michael_handle,counter_key,counter_val);
nvs_close(michael_handle); nvs_flash_deinit();
printf(“Hello world!\n”); /* Print chip information */ esp_chip_info_t chip_info; esp_chip_info(&chip_info); printf("This is %s chip with %d CPU core(s), WiFi%s%s, ", CONFIG_IDF_TARGET, chip_info.cores, (chip_info.features & CHIP_FEATURE_BT) ? “/BT” : “”, (chip_info.features & CHIP_FEATURE_BLE) ? “/BLE” : “”);
printf(“silicon revision %d, “, chip_info.revision);
printf(”%dMB %s flash\n”, spi_flash_get_chip_size() / (1024 * 1024), (chip_info.features & CHIP_FEATURE_EMB_FLASH) ? “embedded” : “external”);
printf(“Minimum free heap size: %d bytes\n”, esp_get_minimum_free_heap_size());
for (int i = 10; i >= 0; i–) { printf(“Restarting in %d seconds…\n”, i); vTaskDelay(1000 / portTICK_PERIOD_MS); } printf(“Restarting now.\n”); fflush(stdout); esp_restart();}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值