puby 发表于 2022-12-23 16:46:42

請教有關 Arduino ESP32 藍芽 Callback 的問題。


/*具有BLE功能的Callback函式。
調用時,移動終端向 ESP32 發送數據時,會將其存儲到 reload 中。
*/

class MyCallbacks: public BLECharacteristicCallbacks {
    void onWrite(BLECharacteristic *pCharacteristic) {
      std::string rxValue = pCharacteristic->getValue();
      if (rxValue.length() > 0) {
      rxload = "";
      for (int i = 0; i < rxValue.length(); i++) {
          rxload += (char)rxValue;
      }
      }
    }
   Todo(rxload);
};

小弟正在學習 Arduino,請教在這個 Callback 函式裡,為什麼不能再呼叫其他程序進行處裡?
或是要改成甚麼樣的寫法,才能將收到的數據傳出去讓 Todo() 這個程序去處理?

謝謝大神。

wxws 发表于 2022-12-23 16:50:50

本帖最后由 wxws 于 2022-12-23 16:52 编辑

搞个全局变量呗, 然后在loop里,检测这个变量,再处理。
或者用esp32,专有的ticker库 来调用一个func

puby 发表于 2022-12-23 19:57:50

wxws 发表于 2022-12-23 16:50
搞个全局变量呗, 然后在loop里,检测这个变量,再处理。
或者用esp32,专有的ticker库 来调用一个func ...
(引用自2楼)

懇請大神教導一下,這神奇的 ticker 库改怎麼整 ?

不勝感激。
页: [1]
查看完整版本: 請教有關 Arduino ESP32 藍芽 Callback 的問題。