国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

ESP-IDF NVS

這篇具有很好參考價值的文章主要介紹了ESP-IDF NVS。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

ESP-IDF NVS

目錄
  • ESP-IDF NVS
    • 1. 什么是NVS?
    • 2. NVS中的概念
      • 2.1. partition 分區(qū)
      • 2.2. namespace 命名空間
      • 2.3. key-value 鍵值對
    • 3. ESP-IDF中NVS的代碼實現

1. 什么是NVS?

非易失性存儲 (NVS) 庫主要用于在 flash 中存儲鍵值格式的數據。

2. NVS中的概念

ESP-IDF NVS

2.1. partition 分區(qū)

這里的Flash分區(qū)與分區(qū)表中所提到的Flash分區(qū)是相同的概念。

所以在希望調用nvs_open_from_partition()進行初始化時,需要先在分區(qū)表中設置對應名稱的Flash分區(qū)。

在使用默認分區(qū)的情況下,可以直接使用nvs_open()進行初始化。

2.2. namespace 命名空間

為了減少不同組件之間鍵名的潛在沖突,NVS將每個鍵值對分配給一個命名空間。

  1. 命名空間的命名規(guī)則遵循鍵名的命名規(guī)則,例如,最多可占15個字符。
  2. 單個NVS分區(qū)最多只能容納254個不同的命名空間。
  3. 不同NVS分區(qū)中具有相同名稱的命名空間將被視為不同的命名空間。

2.3. key-value 鍵值對

  1. 支持的最大鍵長為15個字符。
  2. 值可以分為以下幾種類型:整數型;以0結尾的字符串;可變長度的二進制數據(BLOB)。
  3. 讀取值時會執(zhí)行數據類型檢查。如果讀取操作預期的數據類型與對應鍵的數據類型不匹配,則返回錯誤。

3. ESP-IDF中NVS的代碼實現

基于nvs_flash_init()nvs_open(space_name, NVS_READWRITE, &my_handle)實現的NVS文章來源地址http://www.zghlxwxcb.cn/news/detail-844328.html

#include <stdio.h>
#include "esp_system.h"
#include "nvs_flash.h"
#include "freertos/FreeRTOS.h"
#include "freertos/task.h"

void app_main(void)
{
    // 初始化NVS
    esp_err_t err = nvs_flash_init();
    if (err == ESP_ERR_NVS_NO_FREE_PAGES || err == ESP_ERR_NVS_NEW_VERSION_FOUND) {
        ESP_ERROR_CHECK(nvs_flash_erase());
        err = nvs_flash_init();
    }
    ESP_ERROR_CHECK(err);

    nvs_handle_t my_handle;
    char* space_name = "storage";
    err = nvs_open(space_name, NVS_READWRITE, &my_handle); 
    if (err != ESP_OK) {    
        printf("打開命名空間失敗,具體錯誤 (%s) \n", esp_err_to_name(err));
    } else {                
        printf("打開命名空間成功 \n");

        // printf("Reading restart counter from NVS ... ");
        int32_t restart_counter = 0;
        char* key_name = "restart_counter";
        err = nvs_get_i32(my_handle, key_name, &restart_counter); // 獲取鍵值對restart_counter的值
        switch (err) {
            case ESP_OK:
                printf("鍵值對restart_counter的值獲取成功 \n");
                printf("Restart counter的值為%ld\n", restart_counter);
                break;
            case ESP_ERR_NVS_NOT_FOUND:
                printf("鍵值對restart_counter的值未被設置 \n");
                break;
            default :
                printf("鍵值對restart_counter的值讀取錯誤,具體錯誤 (%s) \n", esp_err_to_name(err));
        }

        // 更新restart_counter的值
        restart_counter++;
        err = nvs_set_i32(my_handle, key_name, restart_counter); 
        printf((err != ESP_OK) ? "設置鍵值對失敗!\n" : "設置鍵值對成功\n");

        // 提交寫入值
        err = nvs_commit(my_handle); 
        printf((err != ESP_OK) ? "提交寫入值失敗!\n" : "提交寫入值成功\n");

        nvs_close(my_handle);
    }

    printf("\n");

    // 重啟倒計時
    for (int i = 10; i >= 0; i--) {
        printf("%ds后重啟設備...\n", i);
        vTaskDelay(1000 / portTICK_PERIOD_MS);
    }
    printf("現在重啟!\n");
    esp_restart();
}

到了這里,關于ESP-IDF NVS的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • 【ESP32】Espressif-IDE及ESP-IDF安裝

    【ESP32】Espressif-IDE及ESP-IDF安裝

    1.打開ESP-IDF 編程指南 2.點擊快速入門–安裝–手動安裝–Windows Installer–Windows Installer Download 3.點擊下載Espressif-IDE 2.10.0 with ESP-IDF v5.0.2 1.雙擊安裝 espressif-ide-setup-2.10.0-with-esp-idf-5.0.2.exe 2.點擊“確定” 3.選擇“我同意此協(xié)議(A)”,點擊“下一步” 4.點擊“下一步” 5.點擊“

    2024年02月15日
    瀏覽(30)
  • ESP-IDF + Vscode ESP32 開發(fā)環(huán)境搭建以及開發(fā)入門

    ESP-IDF + Vscode ESP32 開發(fā)環(huán)境搭建以及開發(fā)入門

    創(chuàng)作不易,轉載請注明出處! Tips: 雖然筆者采用的是Linux開發(fā)環(huán)境,但是Windows開發(fā)環(huán)境的亦可閱讀,所述內容與系統(tǒng)關聯性不大,尤其是后文介紹的如何將自己的文件加入到工程,解決頭文件找不到等問題,無論哪種系統(tǒng)均會存在。 Tips: 最近更新了一篇windows下搭建的,大家

    2024年02月02日
    瀏覽(27)
  • ESP32在ESP-IDF框架下使用LVGL(v8.3)

    ESP32在ESP-IDF框架下使用LVGL(v8.3)

    VSCode + ESP-IDF 插件 說明: IDF版本為4.4.4 ,最新版的5.0.1棄用了些東西,而lvgl_esp32_drivers對5以上的版本未適配,所以 不建議使用5以上的版本 。 安裝:安裝教程,建議整體看完在進行安裝,以免安裝失敗, 教程安裝的是5.0.1,需要改為4.4.4 。 Arduino移植教程:點擊此處 lvgl :g

    2023年04月16日
    瀏覽(24)
  • vscode+esp-idf 搭建esp32開發(fā)環(huán)境,編譯信息中文亂碼

    vscode+esp-idf 搭建esp32開發(fā)環(huán)境,編譯信息中文亂碼

    1.修改波特率 2.C:UsersAdministrator.vscodeextensionsvsciot-vscode.vscode-arduino-0.6.0-win32-x64outsrccommon ?打開文件 util.js 屏蔽掉這部分的代碼 、 ?

    2024年02月10日
    瀏覽(23)
  • ESP32 ESP-IDF + LVGL + SquareLine Studio 設計 UI 界面

    ESP32 ESP-IDF + LVGL + SquareLine Studio 設計 UI 界面

    陳拓 2022/12/10-2022/12/12 關于SquareLine Studio,樂鑫官方的ESP技術文章有介紹: 在 ESP 開發(fā)板上開發(fā) UI 不再復雜 - 知乎 如果您嘗試過在沒有圖形庫的情況下開發(fā) UI,那么您一定知道這有多困難。幸運的是,由樂鑫芯片驅動的屏幕,可支持用戶使用多種圖形庫來開發(fā) UI, LVGL 就是其

    2024年01月19日
    瀏覽(29)
  • ESP-IDF安裝配置食用教程(以Windows系統(tǒng)示例)

    ESP-IDF安裝配置食用教程(以Windows系統(tǒng)示例)

    徐小寶:本文僅以經驗指南,涉及ESP-IDF安裝,編譯環(huán)境配置等。 1、Git安裝包,移步官網下載 2、Python安裝包,移步官網下載 3、ESP-IDF文件包,移步官方Github下載或Gitee下載 4、本博文所用文件,移步附件(ESP-IDF環(huán)境安裝文件,含esp-idf-v4.0.1資源包、Git-2.35.1.2-64-bit安裝包、py

    2023年04月08日
    瀏覽(21)
  • 使用一鍵安裝工具快速搭建 ESP-IDF 開發(fā)環(huán)境 (Windows)

    使用一鍵安裝工具快速搭建 ESP-IDF 開發(fā)環(huán)境 (Windows)

    我們收到用戶對 ESP-IDF SDK 軟件開發(fā)環(huán)境感到搭建難、門檻高的反饋。為解決用戶在此方面的問題。為此,我們推出本期教程介紹在 Windows 操作系統(tǒng)下使用一鍵安裝工具快速搭建 ESP-IDF 開發(fā)環(huán)境。 您可以觀看下面的教程視頻,也可以閱讀接下來本篇的圖文教程。 【樂鑫教程】

    2024年02月09日
    瀏覽(29)
  • 利用群暉服務器安裝樂鑫ESP-IDF編譯環(huán)境

    利用群暉服務器安裝樂鑫ESP-IDF編譯環(huán)境

    NAS內通過套件中心下載Docker并安裝ubuntu容器 打開Docker后進入注冊表搜索ubuntu20.04選擇第一個就可以(其余版本未進行測試) 等待安裝成功后點擊映像可查看 點擊啟動按鈕后為容器命名,點擊高級設置中的存儲空間可在NAS本地創(chuàng)建一個文件夾(便于后續(xù)搭建完成后與本地交互) 點擊

    2023年04月17日
    瀏覽(20)
  • VSCode安裝Esp-IDF開發(fā)環(huán)境(pip version)出錯解決辦法

    VSCode安裝Esp-IDF開發(fā)環(huán)境(pip version)出錯解決辦法

    可以看出是 pip版本問題 ,所以只需要在安裝程序使用pip命令之前,完成pip的升級即可。 好像下載4點幾的版本會出現此警告,導致安裝失?。欢旅姘惭b5.0.1版本的時候同樣出現了此警告,但是能夠安裝成功。 在VSCode擴展中找到Esp-IDF插件,點擊卸載按鈕。 注意:此時并沒有

    2024年02月08日
    瀏覽(26)
  • ESP32接入網絡后,循環(huán)掃描服務器IP及端口狀態(tài)信息(ESP-IDF)

    ESP32接入網絡后,循環(huán)掃描服務器IP及端口狀態(tài)信息(ESP-IDF)

    ????????本文使用的是ESP32系列的ESP32S3設備開發(fā),ESP-IDF框架版本為 ESP-IDF V5.1 ,在VScode下以ESP-IDF插件的形式對設備開發(fā)。 后期經過對程序的測試發(fā)現,在ESP-IDF v4.4框架下編譯開發(fā),也可以實現循環(huán)掃描功能,實現功能的程序源碼Demo見文末。 ????????在嵌入式物聯網這

    2024年02月02日
    瀏覽(25)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包