blinker库与EEPROM有冲突-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 2144|回复: 3

[已解答] blinker库与EEPROM有冲突

[复制链接]
发表于 2020-12-25 11:42 | 显示全部楼层 |阅读模式
只要加进了blinker库EEPROM就读取不了,只能写。如果把连接WIFI这代码去掉一切都正常即可写也可读代码如下:


#define BLINKER_WIFI  //定义wifi模块
#define BLINKER_MIOT_LIGHT   //小爱同学定义为传感器设备
#include <Blinker.h>      //包含Blinker头文件
#include<EEPROM.h>//用于读写寄储器临时数据


String kdm="";
//blinker设备的授权码、设备所在环境的wifi、wifi密码
char auth[] = "**********";
char ssid[] = "|********";
char pswd[] = "***************";



void setup() {
  Serial.begin(115200);
   EEPROM.begin(4000);//激活临时存储器并指定大小
   while(!Serial);


Blinker.begin(auth, ssid, pswd);//WIFI连接
    BLINKER_DEBUG.stream(Serial);
    BLINKER_DEBUG.debugAll();



set_String(0,"3333");  //set_String(写入的长度,开始地址,写入的文本);  
set_String(4,"dd55");  //set_String(写入的长度,开始地址,写入的文本);  

set_String(2500,"1234");  //set_String(写入的长度,开始地址,写入的文本);  
set_String(3200,"5678");  //set_String(写入的长度,开始地址,写入的文本);


}

void loop() {

   Blinker.run();
  get_String(36,0);
Serial.println("uuuuuuu"+kdm);
get_String(36,2500);
Serial.println("ttttt"+kdm);


get_String(36,2800);
Serial.println("5555555"+kdm);

get_String(36,3000);
Serial.println("sssss"+kdm);



get_String(36,3200);
Serial.println("yyyyy"+kdm);

}



//写入EEPROM数据..............................................................................................................................................
void set_String(int b,String str){

  for (int i = 0; i < str.length(); i++){
    EEPROM.write(b + i, str[i]);

  }

EEPROM.commit();
// EEPROM.end();
}



//读取eeprom //a位是字符串长度,b是起始位..........................................................................................................................
String get_String(int a, int b)
{
  String data = "";
  //从EEPROM中逐个取出每一位的值,并链接
  for (int i = 0; i < a; i++){
    data += char(EEPROM.read(b + i));  

  }

  kdm=String(data);

  return data;
//EEPROM.commit();

EEPROM.end();
}

发表于 2020-12-25 13:01 | 显示全部楼层
只能说没有冲突,其他用户也正常在用,自己找找原因吧
发表于 2021-1-3 17:16 | 显示全部楼层
===========================================================
================== Blinker Timer loaded! ==================
Warning!EEPROM address 1536-2431 is used for Blinker Timer!
============= DON'T USE THESE EEPROM ADDRESS! =============
===========================================================


[31762] =======================================================
[31762] =========== Blinker Auto Control mode init! ===========
[31762] Warning!EEPROM address 0-1279 is used for Auto Control!
[31768] =========== DON'T USE THESE EEPROM ADDRESS! ===========
[31774] =======================================================
 楼主| 发表于 2021-1-6 11:49 | 显示全部楼层
是不是ESP32模块就会这样,测试了好久,都会有这个问题,如果不加点灯库就没问题,加了点灯库,只要写了几次就保存不了,只能读。麻烦查看一下,谢了
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2024-11-28 14:38 , Processed in 0.082691 second(s), 16 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表