前言
这几天正在使用ESP8266接入机智云,需要保存一些自定义的参数。在笔记6中,做了AP信息的保存,但它是借助特定的API保存特定的AP信息。而自定义的参数还需要我们自己处理,所有的智能硬件都会涉及这种情况,今天把这块也梳理下。
转载请注明:http://blog.csdn.net/sadshen
编程思路
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。
先这样吧。
版权声明:本文为博主原创文章,未经博主允许不得转载。
时间: 2024-10-25 00:02:00