Ci sono problemi in un codice del genere?
loop(){
if (x){
while (true){
fai questo
}
else
{
while (true){
fai quello
}
}
Ovviamente x è inizializzata nel setup e mai cambiata.
Grazie
Ci sono problemi in un codice del genere?
loop(){
if (x){
while (true){
fai questo
}
else
{
while (true){
fai quello
}
}
Ovviamente x è inizializzata nel setup e mai cambiata.
Grazie
erpomata:
Ci sono problemi in un codice del genere?
Se il tuo scopo è eseguire in eterno questo o quello in funzione di X non ci sono problemi, comunque sarebbe meglio che usa una "#define X" e la relativa "#idef X" perché in questo modo viene compilata solo la parte di codice relativa a ciò che devi fare invece di tutto il codice, ovvero risparmi memoria.
Si lo scopo è quello che dici tu.
Per il define non lo posso fare perchè x dipende dal valore di un pin.
Grazie per la risposta
erpomata:
Per il define non lo posso fare perchè x dipende dal valore di un pin.
Allora in questo caso va bene come hai fatto.
void runMyFunction0() {
while (true) {
if (xyz)
break; // oppure return
}
}
void runMyFunction1() {
while (true) {
if (xyz)
break; // oppure return
}
}
loop() {
if (x)
runMyFunction0();
else
runMyFunciont1();
}
Occhio che una volta entrato in una funzione se non fai in modo di uscire dalla funzione, if (x) non verrà eseguito più fino al prossimo reset.
Nota che se dopo la chiamata a funzione runMyFunction0 questa termina subito, se if (x) lo permette la stessa funzione verrà eseguita nuovamente e così fintantoché "x" è diverso da 0, stessa raggionamento se "x" vale 0, cambia solo la funzione chiamata.
Ciao.
Ciao.
Si ma infatti è stato detto che
astrobeed:
Se il tuo scopo è eseguire in eterno questo o quello in funzione di X ...
erpomata:
Si lo scopo è quello che dici tu.
Ed anche:
erpomata:
Ovviamente x è inizializzata nel setup e mai cambiata.