@ivanprofi

Почему программа выводит цифру 1 бесконечное множество раз, вместо одного?

#include
#include
#include "IRremote.h"
IRrecv ik(3);
decode_results r;
LiquidCrystal_I2C lcd (0x27,20,4);
void setup()
{
lcd.backlight();
lcd.init();
ik.enableIRIn();
Serial.begin(9600);
pinMode(13,OUTPUT);
pinMode(3,INPUT);


}

void loop()
{
if(ik.decode(&r))
{
Serial.println(r.value);
ik.resume();

}
if((r.value)==16724175)
{lcd.print(1);

}
}
  • Вопрос задан
  • 163 просмотра
Пригласить эксперта
Ответы на вопрос 1
Vindicar
@Vindicar
RTFM!
loop() запускается циклически, снова и снова.
r - глобальная переменная, которая сохраняет значение между вызовами loop().
Так что, как только ты задал r правильное значение - при последующих вызовах if (r.value == ...) будет отрабатывать каждый раз, пока значение r не сменится.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы