查看: 320|回复: 5

使用esp8266在blinker下eeprom读写不成功

[复制链接]
  • TA的每日心情
    郁闷
    2019-3-20 11:34
  • 签到天数: 1 天

    [LV.1]初来乍到

    发表于 2019-3-20 11:26 | 显示全部楼层 |阅读模式
    #include <Adafruit_NeoPixel.h>
    #ifdef __AVR__
      #include <avr/power.h>
    #endif
    #define KEYPIN         D3
    #define PIN            D2
    #define NUMPIXELS      16
    Adafruit_NeoPixel pixels = Adafruit_NeoPixel(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);

    #define RGB_1 "RGBKey"
    void KeyRGB();
    BlinkerRGB WS2812(RGB_1);
    uint8_t Key_flag=0,Key=0;
    uint8_t R=0,G=0,B=0,bright=0;
    void ws2812_callback(uint8_t r_value, uint8_t g_value, uint8_t b_value, uint8_t bright_value)
    {
        digitalWrite(LED_BUILTIN, !digitalRead(LED_BUILTIN));
        BLINKER_LOG("R value: ", r_value);
        BLINKER_LOG("G value: ", g_value);
        BLINKER_LOG("B value: ", b_value);
        BLINKER_LOG("Rrightness value: ", bright_value);

         R=r_value;
         G=g_value;
         B=b_value;
         bright=bright_value;
        Key=1;
        pixels.setBrightness(bright_value);

        for(int i = 0; i < NUMPIXELS; i++){
            pixels.setPixelColor(i, r_value, g_value, b_value);
        }
        pixels.show();
        for(int i=2500;i<=2503;i++)
        {
           EEPROM.write(i, 0);//储存更新参数
          }
          delay(5);
        EEPROM.commit();
        EEPROM.write(2500, 100);//储存更新参数
        delay(5);
        EEPROM.write(2501, 100);
        delay(5);
        EEPROM.write(2502, 100);
        delay(5);
        EEPROM.write(2503, 100);
        delay(5);
         EEPROM.commit();
        delay(5);
        R=EEPROM.read(2500);
         G=EEPROM.read(2501);
         B=EEPROM.read(2502);
         bright=EEPROM.read(2503);
         delay(5);
        BLINKER_LOG("R value: ", R);
        BLINKER_LOG("G value: ", G);
        BLINKER_LOG("B value: ", B);
        BLINKER_LOG("Rrightness value: ", bright);
    }
    void setup()
    {
        Serial.begin(115200);
        BLINKER_DEBUG.stream(Serial);
         EEPROM.begin(4096);
        pinMode(LED_BUILTIN, OUTPUT);
        digitalWrite(LED_BUILTIN, LOW);
        pinMode(KEYPIN, INPUT);
        Blinker.begin(auth);
        //Blinker.attachData(dataRead);
        //Blinker.attachHeartbeat(heartbeat);//设备建立连接后app会立刻发送心跳包, 此后每30s-60会发送一次心跳包
        pixels.begin();

        WS2812.attach(ws2812_callback);

    }
    void KeyRGB()
    {

      if((digitalRead(KEYPIN)==0)&&(Key_flag==0))
      {
          delay(10);
          if((digitalRead(KEYPIN)==0)&&(Key_flag==0))
          {
             Key_flag=1;
             if(Key==1)
             {
              pixels.setBrightness(0);
              for(int i = 0; i < NUMPIXELS; i++){
                  pixels.setPixelColor(i, R, G, B);
              }
              pixels.show();
              Key=0;
             }
             else
             {
               Key=1;
               pixels.setBrightness(bright);

              for(int i = 0; i < NUMPIXELS; i++){
                  pixels.setPixelColor(i, R, G, B);
              }
              pixels.show();
             }
        }


       }
       if((digitalRead(KEYPIN)!=0)&&(Key_flag==1))
       Key_flag=0;
    }
    void loop()
    {
        Blinker.run();
        KeyRGB();
    }
    读到的数据全是零,哪位大佬帮忙看一下

    该用户从未签到

    发表于 2019-3-20 15:11 | 显示全部楼层
    看8266package自带的eeprom例程怎么写的
  • TA的每日心情
    郁闷
    2019-3-20 11:34
  • 签到天数: 1 天

    [LV.1]初来乍到

     楼主| 发表于 2019-3-21 10:17 | 显示全部楼层
    三水 发表于 2019-3-20 15:11
    看8266package自带的eeprom例程怎么写的

    例程可以用

    该用户从未签到

    发表于 2019-3-21 16:54 | 显示全部楼层

    例程当然可以用。。
    你不觉得例程写的和你的不一样?????
  • TA的每日心情
    郁闷
    2019-3-20 11:34
  • 签到天数: 1 天

    [LV.1]初来乍到

     楼主| 发表于 2019-3-22 09:28 | 显示全部楼层
    三水 发表于 2019-3-21 16:54
    例程当然可以用。。
    你不觉得例程写的和你的不一样?????

    哪里不一样?我把例程修改的和上边调用的方式一样,也可以储存

    该用户从未签到

    发表于 2019-4-11 17:16 | 显示全部楼层
    注意初始化之后串口输出一段文字 EEPROM有一段BLINKER是占用的 好像跟你选的地址刚好一样
    您需要登录后才可以回帖 登录 | 立即注册  

    本版积分规则

    热门推荐

    arduino温湿度串口监视器显示问题
    arduino温湿度串口监视器
    本人刚学arduino,遇到一些技术问题,希望大佬们帮我看一下程序,具体就是温湿度开始
    全过程展示:PWM自定义、测速、PID调速、PID自整定
    全过程展示:PWM自定义、
    有一天,电控小白在某宝上买来了一块Arduino Mega2560、一款直流电机。小白想:“这款
    关于数据同步遇到的问题
    关于数据同步遇到的问题
    首先,下载了DHT-sensor-library-master.zip 并解压到libraries文件夹中(图1) 其次
    blinker设备连接一会后自动断开
    blinker设备连接一会后自
    [mw_shl_code=arduino,true]#define BLINKER_WIFI #define BLINKER_PRINT Serial #
    学生智能打卡系统(接入blinker)
    学生智能打卡系统(接入bl
    【项目名称】学生智能打卡系统(接入blinker) 一.感谢各位大佬 首先感谢社区的管理员
    Copyright   ©2015-2016  Arduino中文社区  Powered by©Discuz!   ( 蜀ICP备14017632号-3 )
    快速回复 返回顶部 返回列表