salve ragazzi
innanzitutto grazie per le risposte
mi scuso per non aver usato l'apposito comando per postare il codice ( mea culpa )
non posto tutto il codice poichè sono circa 2550 righe di codice di cui circa 800 scritte da me.
Ammetto di non essere un genio di programmazione in C ma una decina di anni fà studiai cobol pascal e basic e sebbene fossero stati fatti a scuola per 3 anni qalcosa di logica è rimasto.
Il codice in oggetto appartiene alla mia personale modifica del famosissimo progretto di PONG CLOCK realizzato con Arduino e doppio display SURE 2416
postare l'intero codice credo abbia poco senso: lo scopo della mia domanda che apriva il post è la gestione dell'ora solare - legale da qui la necessità di immagazzinare il risultato di una funzione che controlla se ci troviamo tra l'ultima di marzo e l'ultima di ottobre, in una memoria che fosse tenuta sotto controllo anche in assenza di alimentazione o reset.
devo scrivere un benedetto flag 0 o 1 dentro la ram del ds1307
googlando c'è il comando che prevede l'indirizo in esadecimale delle posizioni successive a quelle usate per immagazzinare la data e l'ora
ora i comandi store e read sono andato a ricercarmeli nella libreria gentilmente postata qui ma non ho trovato in rete nessuna applicazione pratica pertanto mi sono sorti non pochi dubbi
ora dopo svariati tentativi e meditazioni sono giunto a fare quanto segue ( compila ma mi restituisce in serial print un valore inesatto )
alla fine del codice insieme a tutti i metodi ( o funzioni ) ho aggiunto quanto segue
void saveram(int adr, int data){
}
int readram(int adr){
}
a questo punto nella parte di codice che mi interessa aggiungo :
saveram (8,1); // scrivo nella posizione 8 della ram del ds1307 il valore 1 GIUSTO ?
ora non mi resta che leggerlo e stamparlo via seriale
Serial.print (readram ( 8 ));
solo che mi legge tutti zero ( dico tutti zero poichè è in un ciclo di for e quindi ad ogni lettura legge zero
credo di essere vicino alla soluzione ma non sò dove sbaglio
grazie a chi mi aiuterà
Daniele