Go Down

Topic: come tornare al void loop interrompendo una funzione in corso? (Read 975 times) previous topic - next topic

?R

io vorrei fare un codice del genere:

Code: [Select]

void loop()
{
....
function();
....
}

void function()
{
...
control();
...
}

void control()
{
if(digitalRead(2)==1)
{ /* qui vorrei far ripartire il loop */ }
else
{....}
}


ma non saprei come far ripartire il void loop da una funzione, con il goto non posso farlo perchè il tag sarebbe fuori dalla funzione, avevo pensato di richiamare il loop facendo "loop();" ma non penso vada bene  :~
avete qualche idea da suggerirmi? grazie in anticipo ;)
Riccardo Ertolupi of the Vicenza Thunders Team: http://www.VicenzaThunders.com

uwefed

fai un "return(0)" nella funzione "control()" e un
"if(!control())return();" nella funzione function();

Code: [Select]
void loop()
{
....
function();
....
}

int function()
{
...
if(!control())return();                         // se valore zero ritorna al loop()
...
}

int control()
{
if(digitalRead(2)==1)
{ return(0);                                    // rende un valore zero come valore di ritorno
}
else
{....}
}


Ciao Uwe

?R

Riccardo Ertolupi of the Vicenza Thunders Team: http://www.VicenzaThunders.com

Go Up
 

Quick Reply

With Quick-Reply you can write a post when viewing a topic without loading a new page. You can still use bulletin board code and smileys as you would in a normal post.

Warning: this topic has not been posted in for at least 120 days.
Unless you're sure you want to reply, please consider starting a new topic.

Note: this post will not display until it's been approved by a moderator.
Name:
Email:

shortcuts: alt+s submit/post or alt+p preview