前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ESP8266学习笔记7:保存和读取自定义参数

ESP8266学习笔记7:保存和读取自定义参数

作者头像
twowinter
发布2020-04-17 14:36:35
8060
发布2020-04-17 14:36:35
举报
文章被收录于专栏:twowintertwowinter

我整理了从2015年至今关于ESP8266的学习笔记,梳理出来了开发环境、基础功能、进阶学习三大部分,方便自己和他人。可点此查看,欢迎交流。

前言

这几天正在使用ESP8266接入机智云,需要保存一些自定义的参数。在笔记6中,做了AP信息的保存,但它是借助特定的API保存特定的AP信息。而自定义的参数还需要我们自己处理,所有的智能硬件都会涉及这种情况,今天把这块也梳理下。

本文作者twowinter,转载请注明作者:http://blog.csdn.net/iotisan/

编程思路

ESP的IOT_DEMO是让ESP连接乐鑫自己的云平台,其中必然涉及以下自定义参数的保存,这就是很好的例子。

1.自定义参数的结构体:

struct esp_platform_saved_param esp_param;

2.SPI FLASH中的保存位置

/* NOTICE---this is for 512KB spi flash.
 * you can change to other sector if you use other size spi flash. */
#define ESP_PARAM_START_SEC		0x3D

3.初始化,载入自定义参数:

void ICACHE_FLASH_ATTR
user_esp_platform_init(void)
{
	... 
	system_param_load(ESP_PARAM_START_SEC, 0, &esp_param, sizeof(esp_param));
	...
}

4.修改自定义参数,这是一个设置token的例子:

void ICACHE_FLASH_ATTR
user_esp_platform_set_token(uint8_t *token)
{
    if (token == NULL) {
        return;
    }

    esp_param.activeflag = 0;
    os_memcpy(esp_param.token, token, os_strlen(token));

    system_param_save_with_protect(ESP_PARAM_START_SEC, &esp_param, sizeof(esp_param));
}

总结

这个内容比较简单,代码我就不贴了。

唯一注意的是FLASH的位置,如果用的是1M以上的FLASH,那记得参考下这帖子How to use 1024+KB flash - 如何使用1024KB 及以上 flash

先这样吧。


本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 编程思路
  • 总结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档