Salve a tutti, ho collegato l'RTC ZS-042 all'Arduino Yun, funziona perfettamente, solo che oltre ai secondi ho bisogno anche di conoscere i millisecondi.
Che soluzione mi consigliate?
Grazie mille.
Se non sbaglio il ZS-042 utilizza come chip RTC il DS3231 ... il cui datasheet trovi QUI (... nel caso usasse un chip diverso ... segnalalo e vediamo).
Come tutti gli RTC quello ti da al massimo sino ai secondi, quindi, devi usare la millis() di sistema per avere i millisecondi.
Un sistema che io userei è sincronizzare il tutto tramite il pin INT/SQW che può essere programmato, aggiustando i valori di RS1 e RS2 che si trovano nello Control Register (0Eh), in modo da generare un impulso esattamente ogni secondo.
Se tu usi quest'impulso per far scattare un interrupt, puoi, nella ISR catturare il valore di millis() e poi, quando ti occorre, ti basta fare la differenza tra il valore catturato ed il millis() attuale per sapere quanti millisecondi sono passati.
Più difficile a dirsi che a farsi ...
Guglielmo
P.S.: Consiglio la lettura di QUESTO articolo.
Confermo, il modulo utilizza il DS3231.
Lollo89:
Salve a tutti,
Ti invitiamo a presentarti (dicci quali conoscenze hai di elettronica e di programmazione) qui: Presentazioni
e a leggere il regolamento se non lo hai già fatto: Regolamento
Qui una serie di link utili, non inerenti al tuo problema:
- qui una serie di schede by xxxPighi per i collegamenti elettronici vari: ABC - Arduino Basic Connections
- qui le pinout delle varie schede by xxxPighi: Pinout
- qui una serie di link generali utili: Link Utili
@nid ... azz, m'era sfuggito ...
Guglielmo