91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 9KB
    文件類型: .zip
    金幣: 2
    下載: 0 次
    發(fā)布日期: 2021-06-01
  • 語言: 其他
  • 標簽: esp826??

資源簡介

樂鑫esp8266學習rtos3.0筆記第3篇: 一篇文章帶你搞掂存儲技術(shù) NVS 的認識和使用,如何利用NVS保存整型、字符串、數(shù)組以及結(jié)構(gòu)體。。 - CSDN博客 https://blog.csdn.net/xh870189248/article/details/88537666

資源截圖

代碼片段和文件信息



#include?
#include?“esp_system.h“
#include?
#include?
#include?
#include?“freertos/FreeRTOS.h“
#include?“freertos/task.h“
#include?“freertos/event_groups.h“
#include?“esp_wifi.h“
#include?“nvs.h“
#include?“esp_event_loop.h“
#include?“esp_log.h“
#include?“esp_err.h“
#include?“nvs_flash.h“
#include?“driver/gpio.h“
#include?“driver/pwm.h“
#include?“driver/uart.h“

static?const?char?*TAG?=?“XuHongLog“;

//自定義一個結(jié)構(gòu)體
typedef?struct
{
????char?name[10];
????int8_t?age;
????bool?sex;
}?User_Info;

//數(shù)據(jù)庫的表名
static?const?char?*TB_SELF?=?“Tb_Self“;
//保存與讀取?int8_t?類型的?字段名
static?const?char?*FILED_SELF_i8?=?“int8_t_Self“;
//保存與讀取?字符串類型的?字段名
static?const?char?*FILED_SELF_Str?=?“str_Self“;
//保存與讀取?數(shù)組類型的?字段名
static?const?char?*FILED_SELF_Group?=?“group_Self“;
//保存與讀取?結(jié)構(gòu)體類型的?字段名
static?const?char?*FILED_SELF_Struct?=?“struct_Self“;

/**
?*?@description:??讀取數(shù)據(jù)進去nvs里面的任務(wù)
?*?@param?{type}?
?*?@return:?
?*/
static?void?Task_NVS_Read(void?*pvParameters)
{

????ESP_LOGI(TAG?“---------------------------?Start?Task_NVS_Read??--------------------------“);

????//NVS操作的句柄,類似于?rtos系統(tǒng)的任務(wù)創(chuàng)建返回的句柄!
????nvs_handle?mHandleNvsRead;
????int8_t?nvs_i8?=?0;

????esp_err_t?err?=?nvs_open(TB_SELF?NVS_READWRITE?&mHandleNvsRead);
????//打開數(shù)據(jù)庫,打開一個數(shù)據(jù)庫就相當于會返回一個句柄
????if?(err?!=?ESP_OK)
????{
????????ESP_LOGE(TAG?“Open?NVS?Table?fail“);
????????vTaskDelete(NULL);
????}
????else
????{
????????ESP_LOGI(TAG?“Open?NVS?Table?ok.“);
????}

????//讀取?i8
????err?=?nvs_get_i8(mHandleNvsRead?FILED_SELF_i8?&nvs_i8);
????if?(err?==?ESP_OK)
????????ESP_LOGI(TAG?“get?nvs_i8?=?%d?“?nvs_i8);
????else
????????ESP_LOGI(TAG?“get?nvs_i8?error“);

????//讀取?字符串
????char?data[65];
????uint32_t?len?=?sizeof(data);
????err?=?nvs_get_str(mHandleNvsRead?FILED_SELF_Str?data?&len);

????if?(err?==?ESP_OK)
????????ESP_LOGI(TAG?“get?str?data?=?%s?“?data);
????else
????????ESP_LOGI(TAG?“get?str?data?error“);

????//讀取數(shù)組
????uint8_t?group_myself_read[8];
????size_t?size?=?sizeof(group_myself_read);
????err?=?nvs_get_blob(mHandleNvsRead?FILED_SELF_Group?group_myself_read?&size);

????if?(err?==?ESP_OK)
????{
????????ESP_LOGI(TAG?“get?group_myself_read?data?OK?!“);
????????for?(uint32_t?i?=?0;?i?????????{
????????????ESP_LOGI(TAG?“get?group_myself_read?data?:?[%d]?=%02x“?i?group_myself_read[i]);
????????}
????}

????//讀取結(jié)構(gòu)體
????User_Info?user;
????memset(&user?0x0?sizeof(user));
????uint32_t?length?=?sizeof(user);
????err?=?nvs_get_blob(mHandleNvsRead?FILED_SELF_Struct?&user?&length);
????if?(err?==?ESP_OK)
????{
????????ESP_LOGI(TAG?“get?user?Struct?name?=?%s?!“?user.name);
????????ESP_LOGI(TAG?“get?user?Struct?age?=?%d?!“?user.age);
????????ESP_LOGI(TAG?“get?user?Struct?sex?=?%d?!“?user.sex);
????}

????//關(guān)閉數(shù)據(jù)庫,關(guān)閉面板!
????nvs_close(mHandleNvsRead);

????ESP_LOGI(TAG?“---------------------------?End?Task_NVS_Read??--------------------------“);
????vTaskDelete(NULL);
}

/**
?*?@description:??創(chuàng)建一個寫數(shù)據(jù)進去nvs里面的任務(wù)
?*?@param?{type}?
?*?@return:?
?*/

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2019-03-13?16:43??34_ESP8266_Rtos3.0_NVS\
?????目錄???????????0??2019-03-13?16:43??34_ESP8266_Rtos3.0_NVS\main\
?????文件?????????146??2019-03-02?21:00??34_ESP8266_Rtos3.0_NVS\main\component.mk
?????文件?????????545??2019-03-11?15:25??34_ESP8266_Rtos3.0_NVS\main\Kconfig
?????文件????????7414??2019-03-13?16:40??34_ESP8266_Rtos3.0_NVS\main\user_main.c
?????文件?????????188??2019-03-02?21:00??34_ESP8266_Rtos3.0_NVS\Makefile
?????文件????????8977??2019-03-13?11:26??34_ESP8266_Rtos3.0_NVS\sdkconfig
?????文件????????8977??2019-03-13?11:25??34_ESP8266_Rtos3.0_NVS\sdkconfig.old

評論

共有 條評論