无法得到按钮状态值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]