程序开发难免涉及到数据读写,最近搞ESP8266模块的网络配置和连接部分,涉及到模块重启需要恢复部分数据的问题,网上查了部分资料,结合官网的的案例代码段将相关经验给大家简单总结分享一下。
数据的读写会用到bool system_param_load (uint16 start_sec,uint16 offset,void *param,uint16 len)及bool system_param_save_with_protect (uint16 start_sec,void *param,uint16 len)两个函数,具体函数说明可查看API,官方SDK开发包里面的IoT_Demo例子user_esp_platform.c里面用到了这两个方法,这里只简单介绍这两个方法如何使用。比如我现在需要保存的数据是一个服务器IP地址(server_ip)及服务器的端口(server_port)数据,首先先定义一个类型server_info,定义如下:神秘代码(437577621)
struct server_info {char server_ip[4];int server_port;} ser_info;
根据文档说明,还需要一个地址,这个地址文档里面也明确说明了使用0x3D,那我们就来定义一个地址
#define ESP_PARAM_START_SEC 0x3D
现在来试试保存我们的服务器地址和端口数据,假设IP地址是char ser_ip[4]={192,168,11,11},端口为9999
os_memcpy(ser