查看: 557|回复: 6

[已解答] 大神帮我看下为什么不运行

[复制链接]

该用户从未签到

发表于 2019-6-8 21:34 | 显示全部楼层 |阅读模式
本帖最后由 桥边等 于 2019-6-8 21:50 编辑

代码如下 为什么 如果我把中断 //attachInterrupt(D1,buttonTick, RISING);前面//去掉,整个程序不能运行!

kittenblock中小学创客名师推荐的图形化编程软件

#define BLINKER_WIFI
#define BLINKER_ALIGENIE_LIGHT
#include <Blinker.h>

char auth[] = "fb843f67ea98";
char ssid[] = "ChinaUnicom";
char pswd[] = "3ezb-mknc-49w5";
boolean pushButton,outButton;

// 新建组件对象
BlinkerButton Button1("btn-abc");
BlinkerButton Button2("btn-abd");
 
// 按下按键即会执行该函数
void button1_callback(const String & state) {
    BLINKER_LOG("get button state: ", state);
    if (state=="on") {
        digitalWrite(D2, LOW);
        // 反馈开关状态
        Button1.print("on");
    } else if(state=="off"){
        digitalWrite(D2, HIGH);
        // 反馈开关状态
        Button1.print("off");
    }
}
void button2_callback(const String & state) {
    BLINKER_LOG("get button state: ", state);
    if (state=="on") {
        digitalWrite(D2, LOW);
        // 反馈开关状态
        Button2.print("on");
    } else if(state=="off"){
        digitalWrite(D2, HIGH);
        // 反馈开关状态
        Button2.print("off");
    }
}
void aligeniePowerSate(const String & state) //台灯开关处理
{
   Serial.print(state);
  if (state == BLINKER_CMD_ON) {
    button1_callback("on");
    BlinkerAliGenie.powerState("on");
    BlinkerAliGenie.print();
  }
  else if (state == BLINKER_CMD_OFF) {
    button1_callback("off");
    BlinkerAliGenie.powerState("off");
    BlinkerAliGenie.print();
  }
}
void setup() {
    // 初始化串口
    Serial.begin(115200);
    // 初始化有LED的IO
    pinMode(D2, OUTPUT);
    digitalWrite(D2, HIGH);
    // 初始化blinker
    Blinker.begin(auth, ssid, pswd);
    Button1.attach(button1_callback);
    Button2.attach(button2_callback);
    BlinkerAliGenie.attachPowerState(aligeniePowerSate);
    //attachInterrupt(D1,buttonTick, RISING);
}
 
void loop() {
    Blinker.run();  
}
void buttonTick() {
   pushButton = digitalRead(D1); //读取引脚2电平状态并将其赋值给布尔变量
   outButton = digitalRead(D2);
  if (pushButton){
    delay (40);
    while(pushButton){ 
    pushButton = digitalRead(D1);
    delay (40);
    }
    outButton=!outButton;
    if (outButton){
      button1_callback("on");
      Button1.print("on");
      }
    else if (!outButton) {
      button1_callback("off");
      Button1.print("off");
    }
}
}

  • TA的每日心情
    郁闷
    2018-12-6 22:21
  • 签到天数: 48 天

    [LV.5]常住居民I

    发表于 2019-6-8 22:31 | 显示全部楼层
    1.描述清楚问题
    2.debug调试

    https://www.arduino.cn/thread-84332-1-1.html
    如果以上内容对你有帮助,你可以通过打赏支持作者
  • TA的每日心情
    擦汗
    2019-7-29 00:08
  • 签到天数: 47 天

    [LV.5]常住居民I

    发表于 2019-6-8 22:35 | 显示全部楼层
    主板是 UNO 么?D0/D1 根本就是串口的数据线,干啥非要绑定中断?

    该用户从未签到

     楼主| 发表于 2019-6-8 22:39 | 显示全部楼层
    t3486784401 发表于 2019-6-8 22:35
    主板是 UNO 么?D0/D1 根本就是串口的数据线,干啥非要绑定中断?

    用的是ESP8266,我D4 D6都试了,开机闪蓝灯

    该用户从未签到

     楼主| 发表于 2019-6-8 22:41 | 显示全部楼层
    奈何col 发表于 2019-6-8 22:31
    1.描述清楚问题
    2.debug调试

    __       __                __
    /\ \     /\ \    __        /\ \              v0.3.0
    \ \ \___ \ \ \  /\_\    ___\ \ \/'\      __   _ __   
    \ \ '__`\\ \ \ \/\ \ /' _ `\ \ , <    /'__`\/\`'__\
      \ \ \L\ \\ \ \_\ \ \/\ \/\ \ \ \\`\ /\  __/\ \ \./
       \ \_,__/ \ \__\\ \_\ \_\ \_\ \_\ \_\ \____\\ \_\  
        \/___/   \/__/ \/_/\/_/\/_/\/_/\/_/\/____/ \/_/  
        To better use blinker with your IoT project!
        Download latest blinker library here!
        => https://github.com/blinker-iot/blinker-library

    [79] _aliType: &aliType=light
    [81] _duerType:
    [83] _authKey: fb843f67ea98
    [86] Connecting to ChinaUnicom
    [91] ESP8266_MQTT initialized...
    [91]
    ===========================================================
    ================== Blinker Timer loaded! ==================
    Warning!EEPROM address 1536-2431 is used for Blinker Timer!
    ============= DON'T USE THESE EEPROM ADDRESS! =============
    ===========================================================

    [120] countdown state: false
    [121] _cdRunState: 0
    [123] _totalTime: 0
    [124] _runTime: 0
    [126] _action:
    [128] loop state: false
    [130] _lpRunState: 0
    [132] _times: 0
    [133] _tri_times: 0
    [135] _time1: 0
    [136] _action1:
    [138] _time2: 0
    [139] _action2:
    [141] _lpData: 0
    ISR not in IRAM!

    该用户从未签到

     楼主| 发表于 2019-6-8 22:50 | 显示全部楼层
    奈何col 发表于 2019-6-8 22:31
    1.描述清楚问题
    2.debug调试

    具体表现为设备闪蓝灯,设备不在线

    点评

    https://www.arduino.cn/thread-83658-1-1.html 1.学会清楚的描述问题 2.库版本太老了,请按照文档重新安装 3.你的程序太多问题了,我都不想说了,但我精简你的程序后测试,是可以正常运行的  详情 回复 发表于 2019-6-8 23:21
  • TA的每日心情
    郁闷
    2018-12-6 22:21
  • 签到天数: 48 天

    [LV.5]常住居民I

    发表于 2019-6-8 23:21 | 显示全部楼层
    桥边等 发表于 2019-6-8 22:50
    具体表现为设备闪蓝灯,设备不在线

    https://www.arduino.cn/thread-83658-1-1.html
    1.学会清楚的描述问题
    2.库版本太老了,请按照文档重新安装
    3.你的程序太多问题了,我都不想说了,但我精简你的程序后测试,是可以正常运行的
    如果以上内容对你有帮助,你可以通过打赏支持作者
    您需要登录后才可以回帖 登录 | 立即注册  

    本版积分规则

    热门推荐

    同时读取两个传感器的数据,并上传至云端存储
    同时读取两个传感器的数据
    一个示例,仅供参考,可以自己更换传感器,或者连接更多传感器。 开发板: Wifiduin
    求助帖 新手
    求助帖 新手
    如图,第一个LED灯驱动失败,求原因… 板子是UNO R3,LED灯接在13与GND上面。
    【Arduino】108种传感器系列实验(93)---CSR8350蓝牙音乐模块
    【Arduino】108种传感器系
    37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是
    光线跟踪钛合金猫眼
    光线跟踪钛合金猫眼
    +视频 https://www.bilibili.com/video/av67732712/ +原理 ---光线跟踪 建立极
    "高精度"米家电子温湿度计Pro拆解
    "高精度"米家电子温湿度计
    为了了解哪种温湿度传感器更好,我搞了一个米家电子温湿度计Pro(阿蒙同志赠送) 价格
    Copyright   ©2015-2016  Arduino中文社区  Powered by©Discuz!   ( 蜀ICP备14017632号-3 )
    快速回复 返回顶部 返回列表