Arduino для отправки смс только один раз при нажатии кнопки

LED_UPDATE() вызывается в моей функции loop(), я реализовал ее (все равно пробовал), для отправки смс, как показано в коде, чтобы было отправлено только одно смс, потому что, поскольку loop() продолжает вызывать LED_UPDATE(), он будет отправлять смс каждые время (да, вы уже догадались, очень плохо для кредита :o )

любые советы о том, как я могу обойти это или что я делаю неправильно в своем коде, будут очень признательны.

ps чуть не оставил свой мобильный телефон в коде, лол

void LED_UPDATE(int state) 
{

int count; // инициализируется нулем, как только программа запустится, она автоматически войдет в состояние ==1
if (state == 1)
{

    digitalWrite(RED_PIN, LOW);
    digitalWrite(GREEN_PIN, HIGH);
    count=0; 
}
else if (state == 2)
{
  count+=1;
  Red_Blink();

  if(count == 1 )
  {
    sms.SendSMS("086XXXXXXX", "PANIC BUTTON PRESSED, Subject needs help!!!");
  }

}

, 👍1

Обсуждение

Не могли бы вы добавить код в sms.SendSMS(string phoneno,string msg), @Jahnavi Reddy


1 ответ


Лучший ответ:

0

Вы сбрасываете счетчик каждый раз, когда входите в функцию.

static int count; // инициализируется нулем, один раз.

Добавление оператора static должно инициализировать переменную один раз и сохранять ее значение между вызовами.

,