我正在使用Arduino IDE在esp32上使用ble,并试图做到这一点,因此当有人打开LED时,esp32会以“ ON”或“ OFF”通知客户端。目前,我的代码会在每次循环时发送更新,但我只想在引脚15的值更改时通知。
我认为我需要探讨一个人的想法,即每当发生更改时都希望发送serial.print的人。
这是我的相关代码。
if (deviceConnected) {
if(digitalRead(15)==LOW){
pCharacteristic->setValue("ON");
}
else{
pCharacteristic->setValue("OFF");
}
pCharacteristic->notify();
我找到了这个示例代码,但是不确定它是否有帮助或如何将其组合到我的
int old_something;
void loop ()
{
int something = get_my_data ();
if (something != old_something)
Serial.print (something); // display if it changed
old_something = something;
}
答案 0 :(得分:0)
弄清楚了。现在可以在这里使用了
//Way at the Top
boolean oldState = LOW;
//Down in Loop
boolean newState = digitalRead(15);
if (deviceConnected) {
if (newState != oldState) {
if (newState == LOW) {
pCharacteristic->setValue("ON");
}
else {
pCharacteristic->setValue("OFF");
}
pCharacteristic->notify();
};
oldState = newState;