Potresti provare con un while a vuoto finchè non ricevi, ti faccio un esempio
Code:
while( irRX == false ){}
// codice che gestisce le letture
Dove irRX è il pin del ricevitore ir.
Ho provato, ma qualcosa non funziona. Se metto un ciclo while come mi hai indicato, la lettura dell' IR non si ferma. L'ho verificato semplificando tutto a questo code "minimal"
#include <IRremote.h>
#define Tasto_11 16732845
int RECV_PIN = 14;
IRrecv irrecv(RECV_PIN);
decode_results results;
void setup()
{
Serial.begin(9600);
irrecv.enableIRIn();
}
void loop()
{
Serial.println("sono in loop");
delay (500);
while( RECV_PIN == false ){delay (50);Serial.println("in attesa del tasto");}
if (irrecv.decode(&results))
{
if (results.value == Tasto_11)
{
Serial.println("Tasto_11 premuto");
delay (500);
irrecv.resume();
}
}
}
se non ho sbagliato qualcosa dovrebbe stamparmi "in attesa di tasto" finchè non lo premo, invece non succede mai