blinker服务器未响应,关于BLINKER+8266-12,EEPROM读写不正常

在将项目从BLYNK迁移到Blinker时,遇到服务器未响应和EEPROM读写异常的问题。设备在配置WIFI后,EEPROM数据会被覆盖,导致读取异常。尝试更改EEPROM地址仍无法正常读写。代码中展示了智能配置、EEPROM读写和重置处理的实现,但问题仍未解决。
摘要由CSDN通过智能技术生成

今天继续不断的和Blinker磨合。

又遇新问题

还是昨天那个小项目,本来一直在BLYNK平台上写的,现迁移到Blinker上来,就遇到这个莫名其妙的问题,具体功能我在这里说一下:

1、在设备没有配置时,上电自动进入SmartConfig模式,当配置完成WIFI后,把配置完成的标志位置1,把SSID和password都存到EEPROM里。

2、然后软件重启动,或用户按了我自定义的RESET键就重新启动,重启动时首先读出EEPROM里的帐号和密码进行wifi连接,成功后进入工作模式。

我一直设置读写的ROM区从地址0开始的。每次读写都正常,在刚刚通过SmartConfig配置完成后,重启可以准确的在地址0处读到标识1。只是出现如下的提示。说明是我的ROM使用和Blinker重叠了,而且也的确出现当再次重启后,地址0的标志位就不再是1了,而是随机数了,说明这个地址0的位置 的数据的确会在过程 中被改写。提示如下

a7d3b178cfc65b1df217b445054bc0e2.png

所以,我只好在程序 里把我要用的地址位拉高到4096或更高。结果却奇异的发现,怎么都 读写不正常上。不管是地址从4096开始,8192开始。每次写是第一个标志位flag=1,读出来都是0

下面是我的相关代码。而只要把地址改到0,就第一次读写一定全部正常上。写1,读出来也是1…

```cpp

#define BLINKER_WIFI

#define BLINKER_PRINT Serial

#include

#include

#include

#define RESETUP 5 //D1 INPUT_PULLUP 中断 重置和重启

#define DEFSSID "win-elf"

#define DEFPSK "4096"

#define EEPROMBase //Blinker 要占用0-1279??

char auth[] = "???";

//initializ EEPROM's address and variable

int RelativeAddress=0;

int flag; //whether users have inp

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值