après plusieurs essaie infructueux , je viens vers vous .
j'essaye de sortir d'une boucle while.
voila l'idée du programme
j'ai un switch qui contient 2 case(commandée avec une réception IR pour contrôlée les case)
dans chaque case un while avec comme condition une valeurs booléen qui passe a vrai si le code de télécommande correspondant.
donc j'ai tenter de mettre un if dans la boucle qui dit que si valeur télécommande est differente de (ex:0xff56g) alors la valeurs booléen passe a false
mais le probleme c'est que ca reste bloqué dans le while
Donc si je comprends il faut permettre au while de recevoir une nouvelle donnée afin de modifier message reçu donc il suffit d'ajouter monRecepteurIR.resume() afin de recevoir une nouvelle donne
je récupère des donne qui sont afficher en suite sur un four Seven digital a l'aide de ma fonction affichage()
Dans le cas 1 des minute et des seconde
Et le cas 2 des heure et minute
bonjour,
tu ne lis pas la réception de la télécommande dans tes while, donc les valeurs ne changent pas.
il faut mettre une lecture "if (monRecepteurIR.decode(&messageRecu)) " dans les while.
comme ca, lorsque tu es dans le while et qu'il y a une réception, tu lis la valeur et la compare après et donc tu peux sortir de la boucle dans ce cas en mettant un break
j'ai essayer comme ça donc des que je clique sur la télécommande
ça va dans le switch donc affichage normal sur 4-seven , sur le moniteur ça m'affiche oui et à partir de la plus aucune réception
dans ce cas, tu affiche et note chaque touche avec la valeur recue et tu modifie le code en fonction
sinon, si je ne me trompe pas, il faut convertir en HEX la valeur.
si je comprends un peut le truc
j'appuie sur le 1 de la télécommande
ça rentre dans le switch case 1
ça vérifie directement le if de reception IR
et le if de condition (message.Recu.value != xxxxxxx)
ça m'affiche ce qui est dans le else vu que ces la même touche
et à partir de la plus aucune réception venant de la télécommande
ps: le nombre correspond bien la valeur HEX
j'ai fait un Serial.println(messageRecu.value, HEX);
pour voir