Go Down

Topic: [codice completo]lista senza memoria dinamica (Read 262 times) previous topic - next topic

lestofante

immaginiamo per un attimo di avere una serie di sensori/bus/...
ora, noi vogliamo leggere tutti questi oggetti, uno alla volta, PERO' non tutti gli oggetti vanno letti con la stessa frequenza.

Magari vogliamo che per ogni 3 letture del sensore A, abbiamo una lettura del sensore B, il tutto il più velocemente possibile (caso test A);

Oppure vogliamo che per ogni clock leggiamo A, e ogni 3 leggiamo B (uno scheduler, in pratica).

La cosa con le liste è molto semplice; crei una lista, inserisci gli elementi ordinati per PESO,
poi estrai la testa (caso A) o la testa SE il PESO supera il PERIODO (caso B),
reinserisci l'elemento estratto in modo ordinato.

la cosa però si fa un pò più complessa se NON vogliamo usare la memoria dinamica; allora bisognerà creare un array dei nosti elementi, e in questo caso anche un array di strutture di gestione (per cercare di separare il più possibile i dati user dai dati libreria)

in allegato trovate il codice della mia soluzione, con un piccolo main di test. Notare che è fatto per compilare su PC 8per via del main) ma se copia-incollate il codice del main nel setup dovrebbe funzionare senza problemi.

https://github.com/MauroMombelli/staticQueuePoller
Guida per principianti http://playground.arduino.cc/Italiano/newbie
Unoffical Telegram group https://t.me/genuino

Go Up