调用函数Blinker.print()时卡死-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 4109|回复: 4

[已解答] 调用函数Blinker.print()时卡死

[复制链接]
发表于 2018-5-4 21:27 | 显示全部楼层 |阅读模式
手机触发按键,然后改变text的内容,使用过程中发现,一旦调用Blinker.print(),然后就卡死,操作什么都不行,串口也没任何数据传输,请求大佬指点。
手机端iPhone 7和Mi Note 都试过,情况都一样。
[mw_shl_code=c,true]/*

*/

/*
#define BLINKER_PRINTER Serial
#define BLINKER_DEBUG_ALL //不调试的时候选择注释掉
*/
#define BLINKER_PRINT  Serial
#define BLINKER_WIFI

//定义按钮
#define BUTTON_1    "ButtonKey"
#define BUTTON_2        "ButtonReset"

//定义三个情况的引脚
#define PinBig D9
#define PinMiddle D8
#define PinLittle D0

#include <Blinker.h>

char ssid[] = "InTron's PC";
char pswd[] = "chrome1111";

//定义三个下落的状态
int PinBigState = 0;
int PinMiddleState = 0;
int PinLittleState = 0;

void setup()
{
    Serial.begin(115200);

    pinMode(LED_BUILTIN, OUTPUT);
    digitalWrite(LED_BUILTIN, LOW);

    Blinker.begin(ssid, pswd);
    Blinker.wInit(BUTTON_1, W_BUTTON);
    Blinker.wInit(BUTTON_2, W_BUTTON);
}


void Scan(int PinBig,int PinMiddle,int PinLittle)
{
    if(digitalRead(PinBig)== HIGH )
    {
        PinBigState++;
    }

    if(digitalRead(PinMiddle)== HIGH )
    {
        PinMiddleState++;
    }

    if(digitalRead(PinLittle)== HIGH )
    {
        PinLittleState++;
    }      
}

void Reset()
{
    PinBigState = 0;
    PinMiddleState = 0;
    PinLittleState = 0;
}

void loop()
{
    Blinker.run();

    Scan(PinBig,PinMiddle,PinLittle);

    if (Blinker.available()) {
        BLINKER_LOG2("Blinker.readString(): ", Blinker.readString());

        Blinker.vibrate();
        
        uint32_t BlinkerTime = millis();
        Blinker.print(BlinkerTime/1000);
        Blinker.print("millis", BlinkerTime/1000);
    }

    if (Blinker.button(BUTTON_1))
    {
        //digitalWrite(LED_BUILTIN, !digitalRead(LED_BUILTIN));
        Blinker.print("state", "btn1");
    }

    if (Blinker.button(BUTTON_2))
    {
        //Blinker.print("Reset");
        Blinker.print("state", "Reset");
        Reset();
    }
}
[/mw_shl_code]
发表于 2018-5-4 22:14 | 显示全部楼层
GPIO6~11不要使用,会引起存储错误,不停重启;
发表于 2018-6-20 14:59 | 显示全部楼层
不能这样用,发送的太快,APP会崩,加个延迟
发表于 2018-6-24 18:56 | 显示全部楼层
chen70854022 发表于 2018-6-20 14:59
不能这样用,发送的太快,APP会崩,加个延迟

最新的库已添加发送限制,当一定时间内发送消息数超过限制后该时间段内将不能发送消息。等待下一秒继续发送。
发表于 2020-3-16 09:50 | 显示全部楼层
三水 发表于 2018-6-24 18:56
最新的库已添加发送限制,当一定时间内发送消息数超过限制后该时间段内将不能发送消息。等待下一秒继续发 ...

你好,  现在发送间隔两秒还是报错。怎么解决呢
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-11-28 07:46 , Processed in 0.210750 second(s), 16 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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