variable ne reçoit pas mis à jour dans le code en cours d'exécution à bord mbed
#include "mbed.h"
DigitalOut myled1(LED1);
DigitalOut myled2(LED2);
DigitalOut myled3(LED3);
DigitalOut myled4(LED4);
Serial pc(USBTX, USBRX);
int main()
{ int c;
while(1)
{
pc.scanf("%d",&c);
pc.printf("hey i received %d",c);
if (c==1050)
{myled1=1;
myled2=0;
myled3=0;
myled4=0;
}
else if (c==2050)
{ myled1=0;
myled4=0;
myled3=0;
myled2=1;
}
else if (c==3050)
{myled3=1;
myled4=0;
myled2=0;
myled1=0;
}
else if (c==4050)
{myled4=1;
myled3=0;
myled2=0;
myled1=0;
}
}
}
Le code ci-dessus reçoit la valeur de « c » de la borne et prend la décision sur la base de la même. Le problème auquel je suis confronté est que lorsque j'utilise le printf, variablc est mis à jour et le code fonctionne correctement sinon. S'il vous plaît aider.
Merci beaucoup Talamaki pour votre attention. J'ai essayé d'ajouter le retard de différents intervalles de temps mais ils n'ont fonctionné que pendant un cycle. Dans les cycles successifs, il me semble que la valeur du nombre 'c' n'est pas mise à jour. –
J'ai ajouté un exemple de code en utilisant des interruptions. Essayez-le. – talamaki
En fait, j'essaie de lire un nombre.Mais je vais certainement essayer de trouver le problème. –