Quel comportement pour ce programme
bonjour,
j'ai une petite question de théorie.
si j'ai un algo comme ça :
je sors de la fonction getdata dans tous les cas avec "return".
et je sors de cas1 dans tous les cas avec un break.
en théorie je vais sur cas2 ?
merci
j'ai une petite question de théorie.
si j'ai un algo comme ça :
code: [select]
const int cas1 = 1;
const int cas2 = 2;
static int state = cas1;
int flag;
int x; //supposons qu'il prenne la valeur d'un caractère sur le bus série qui peut être soit 0 soit 1.
void getdata(){
if (x ==0){
flag = 0;
return;
}else{
flag = 1;
return;
}
}
void setup(){
}
void loop(){
switch(state) {
case cas1 :
while(1){
getdata(x);
if (flag ==0){
serial.println('0');
state = cas2;
break;
}else{
serial.println('1');
state = cas2;
break;
}
}
case cas2 :
//autre état
}
}
je sors de la fonction getdata dans tous les cas avec "return".
et je sors de cas1 dans tous les cas avec un break.
en théorie je vais sur cas2 ?
merci
bonjour
oui. ici, les « break » permettent juste de sortir du « while(1) ». la suite du « switch ... case » doit donc être exécutée normalement, et en l'absence d'autre « break » on passe au code situé sous le « case cas2 ».
toutefois, je préfère signaler que, dans cet environnement de développement particulier, la dernière option du « switch ... case » ne doit pas être vide. si l'on n'y fait rien, alors il faut au minimum y trouver un « break ».
oui. ici, les « break » permettent juste de sortir du « while(1) ». la suite du « switch ... case » doit donc être exécutée normalement, et en l'absence d'autre « break » on passe au code situé sous le « case cas2 ».
toutefois, je préfère signaler que, dans cet environnement de développement particulier, la dernière option du « switch ... case » ne doit pas être vide. si l'on n'y fait rien, alors il faut au minimum y trouver un « break ».
Arduino Forum > International > Français (Moderators: jfs, Snootlab) > Quel comportement pour ce programme
arduino
Comments
Post a Comment