FrancoGual: come vedi l'utilità dei tuoi interventi è sempre utile, come un dito nel culo!!
si fa quel che si puo' con le informazioni che fornisci, a volte ringrazi a volte insulti, ma io saro' sempre qui a risponderti, con educazione. Quando tornerai, perche' lo farai, mettici lo stesso impegno che chiediamo ai nuovi iscritti.
Un titolo sensato, una descrizione in italiano comprensibile, uno schema, il codice e rispetto per il prossimo, sono piccole cose che costano poco.
...
double_wrap
postato il: 19.06.2021, alle ore 20:57
Questo e' lo scheletro di un piccolo schedulatore
unsigned long T0,T1,T2;
unsigned long const K0=5000L;
unsigned long const K1=100L;
unsigned long const K3=250L;
byte const LED=13;
void setup(){
pinMode(LED,OUTPUT);
T0=millis();
T1=millis();
// fai altro
}
void loop(){
if(millis()-T0>K0){
lavoro_uno();
T0=millis();
}
if(millis()-T1>K1){
lavoro_due();
T1=millis();
}
if (millis()-T2>K3){
digitalWrite(LED,!digitalRead(LED)); //lampeggia ogni 250 msec
T2=millis();
}
// fai altro
}
void lavoro_uno(){
// fai qualcosa ogni K0=5000 msecondi
}
void lavoro_due(){
// fai qualcosa ogni K1=100 msec
}
il loop lancia periodicamente TRE attivita'
- ogni 5000 msec la funzione lavoro_uno()
- ogni 100 msec la funzione lavoro_due
- ogni 250 msec cambia lo stato del pin D13 facendo ad esempio lampeggiare un led
La faccenda si puo' espandere a piu' lavori, con giudizio e cognizione di causa.
Volendo si puo' usare il timer e il relativo interrupt, ma questo metodo funziona per la maggior parte dei casi normali
"se peso cado, ma se cado non peso"
adamatj.altervista.org
Grazie anche a te.
Mi chiedo se c'è qualcuno ottuso e gli altri geni.
Ho posto una domanda in maniera abbastanza sintetica.
Tuttavia gli attori del 3D hanno risposto in maniera coerente.
In democrazia la minoranza si adegua. Si oppone con dati .
Non a prescindere come spesso accade, mandando in vacca intere discussioni.
Detto questo, sono al telefono, spero di rientrare quanto prima per
mettere in pratica quello che ho imparato e quello che mi avete consigliato.
Grazie ancora a tutti.
Anche il viaggio più lungo inizia con un piccolo passo.
Si vis pacem, para bellum!!!
Mark Zuckerberg ha reso suoi schiavi milioni di persone senza che se ne rendessero conto. F.G.
<Avete vinto voi,ma almeno non riuscirete a considerarmi vostro complice> Da Mediterraneo.
Inferno,Canto III,verso 51 Virgilio dice.........
Come utente anonimo puoi leggere il contenuto di questo forum ma per aprire una discussione
o per partecipare ad una discussione esistente devi essere registrato ed accedere al sito