ESP32停止一切与麻省理工学院应用程序发明人2互动



正在制作一个通过蓝牙经典与ESP32交互的应用程序。我正在读取霍尔传感器并在其值高于0时发送0,在低于1时发送1。现在,当我在ai2中注册那个1时一些事情因此在app中发生,ESP32出现故障之类的。我无法从串行监视器上的传感器读取数据,蓝牙连接也停止了。感觉整个超能力就这样戛然而止。我也没有发送任何数据到ESP32,只是从它接收。esp代码非常小,但应用程序代码不是那么多。解决这个问题的唯一方法是重置esp,这在我的使用情况中是不可行的。有办法解决这个问题吗?

#include "BluetoothSerial.h"
#if !defined(CONFIG_BT_ENABLED) || !defined(CONFIG_BLUEDROID_ENABLED)
#error Bluetooth is not enabled! Please run `make menuconfig` to and enable it
#endif
BluetoothSerial SerialBT;
void setup() {
Serial.begin(115200);
SerialBT.begin("Sport Spel"); //Bluetooth device name
}
void loop() {
Serial.println(hallRead());
if (SerialBT.available) 
{
if (hallRead() < 0)
{
SerialBT.write('1');
}
else
{
SerialBT.write('0');
}
delay(20);
}
}

应用程序代码图片1

图2

3

4

5

6

if (SerialBT.available) 

应该

if (SerialBT.available())

正如你的问题中所写的,你正在测试SerialBT对象上名为available的方法的地址是否为真,它总是为真。你想实际调用那个方法,所以你需要包含圆括号来调用它。

最新更新