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

Nemoooooo 发表于 2020-5-24 02:39

无法得到按钮状态值callback

本帖最后由 Nemoooooo 于 2020-5-24 02:47 编辑

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

void Task3code(void *pvParameters)
{
    //setup部分
    myBLE.init();
    vTaskDelay(500);

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

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

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();
}





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");
    }
}

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

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


页: [1]
查看完整版本: 无法得到按钮状态值callback