无法得到按钮状态值callback-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 2025|回复: 0

[过期] 无法得到按钮状态值callback

[复制链接]
发表于 2020-5-24 02:39 | 显示全部楼层 |阅读模式
本帖最后由 Nemoooooo 于 2020-5-24 02:47 编辑

并行任务,将它运行在了core1

[mw_shl_code=arduino,true]void Task3code(void *pvParameters)
{
    //setup部分
    myBLE.init();
    vTaskDelay(500);

    for (;;) //相当于loop
    {
        myBLE.loop();
    }
}[/mw_shl_code]

在单独的cpp文件中进行初始化

[mw_shl_code=arduino,true]void MotoBLE::init()
{
    // 初始化blinker
    Blinker.begin();
    this->btnDms_callback("off");
    btnDms.attach((blinker_callback_with_string_arg_t)&MotoBLE::btnDms_callback);
}

void MotoBLE::loop()
{
    Blinker.run();
}


[/mw_shl_code]


[mw_shl_code=arduino,true]void MotoBLE::btnDms_callback(const String &state)
{
    //BLINKER_PRINT.println(state);
    Blinker.notify(state);

    //读取某个针脚的电平,如果通电则回写按钮状态
    if (random(0, 2) == 0)
    {
        btnDms.color("#FF0000");
        btnDms.textColor("#FF0000");
        btnDms.text("电门锁(关)");
        btnDms.print("off");
    }
    else
    {
        btnDms.color("#006600");
        btnDms.textColor("#006600");
        btnDms.text("电门锁(开)");
        btnDms.print("on");
    }
}[/mw_shl_code]

esp32开发板,由于用到多任务,所以将每个功能都单独放到cpp中,再由ino文件任务调用
这样写之后无法获取按钮的触发状态,请问是什么原因?

在app中notify打印出来的值是null,代码切换到串口也是null


您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-12-1 07:00 , Processed in 0.069537 second(s), 16 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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