Salve a tutti!
ho un quesito.
Un programma di collaudo, deve effettuare dei cicli di test su un relè. circa 150000.
Il test è un semplice go no-go, eccitazione bobina-verifica del contatto chiuso.
diseccitazione - verifica apertura contatto.
Niente di eccezionale.
Ora, essendo questo test molto lungo, vorrei che succedesse questo:
Se durante il test viene a mancare la corrente, il micro dovrebbe "salvare" la variabile indice I in qualche locazione di memoria non volatile.
Ovviamente il micro dovrebbe salvare la variabile nell'istante in cui viene a mancare l'alimentazione...
So che è una contraddizione in termini, ma dovrebbe fare proprio così...
...e non ho idea di come fare questa cosa...
Al ritorno dell'alimentazione, il micro dovrebbe "sapere" che "prima" stava "lavorando" e ha avuto una interruzione del ciclo e continuare il test contando da I+1.
Se si dovessero "perdere" 1-2 conteggi non fa nulla..
Invece, se "prima" della interruzione di alimentazione aveva finito i cicli di test, oppure non aveva neanche cominciato, allo START, l'indice I deve cominciare da 1.
So che c'è la possibilità di dichiarare una variabile nell'area flash non volatile, però essendo il numero dei cicli oltre i 100000, non vorrei che alla fine la cella riservata alla variabile, non funzioni più vanificando tutto.
Devo aver letto da qualche parte, infatti, che la flash è garantita per 100000 cicli.
ma dopo...?