PCF8563, sequenza di scrittura
10 Anni 6 Mesi fa #1
da Lello Guidi
PCF8563, sequenza di scrittura è stato creato da Lello Guidi
Mi sarvirebbe schematizzata ma in maniera particolareggiata la sequenza per avviare e stoppare correttamente il PCF8563.
Devo fare una verifica con le funzioni che ho scritto per il pic 16F877A.
Funziona QUASI tutto correttamente; come errori ho che il conteggio dei secondi quando arriva a 40 mi incrementa anche l'ora sommando 40 all'ora attuale e allo scadere del 60 secondo mi riscrive l'ora corretta.
Inoltre non visualizza correttamente l'anno e il mese, sempre come numeri su un LCD.
Non e' comunque un problema di visualizzazione su LCD.
Sul datasheet a pagina 13 e' schematizzata solo la funzione per leggere i registri.
Saluti
Lello
Devo fare una verifica con le funzioni che ho scritto per il pic 16F877A.
Funziona QUASI tutto correttamente; come errori ho che il conteggio dei secondi quando arriva a 40 mi incrementa anche l'ora sommando 40 all'ora attuale e allo scadere del 60 secondo mi riscrive l'ora corretta.
Inoltre non visualizza correttamente l'anno e il mese, sempre come numeri su un LCD.
Non e' comunque un problema di visualizzazione su LCD.
Sul datasheet a pagina 13 e' schematizzata solo la funzione per leggere i registri.
Saluti
Lello
Si prega Accedi o Crea un account a partecipare alla conversazione.
- Lello Guidi
- Autore della discussione
- Platinum Member
Riduci
Di più
10 Anni 6 Mesi fa #2
da firstcolle
Risposta da firstcolle al topic PCF8563, sequenza di scrittura
mmm non riesco a capire..
i registri vanno scritti solo se vuoi impostare a mano l'ora durante il setup, poi devi solo leggerli ciclicamente perchè vengono incrementati in automatico nel PCF8563
i registri vanno scritti solo se vuoi impostare a mano l'ora durante il setup, poi devi solo leggerli ciclicamente perchè vengono incrementati in automatico nel PCF8563
Si prega Accedi o Crea un account a partecipare alla conversazione.
- firstcolle
- Platinum Member
Riduci
Di più
- Messaggi: 362
- Ringraziamenti ricevuti 39
10 Anni 6 Mesi fa #3
da Lello Guidi
Risposta da Lello Guidi al topic PCF8563, sequenza di scrittura
Leggendo il datasheet, da quello che ho capito, per inizializzarlo devo creare una serie di start e stop seguiti da scritture nel registro dei secondi.
Vorrei essere sicuro della sequenza delle operazioni da eseguire.
Allego quello che ho scritto per lo start:
void Pcf8563Start(void)
{
char value=0;
I2cStart();
I2cWriteMaster(RTC_WRITE);
I2cWriteMaster(RTC_SECONDS);
I2cRepStart();
I2cWriteMaster(RTC_READ);
value=I2cReadMaster(0);
I2cStop();
value=value & 0b01111111; // per avviare l'oscillatore il bit 7 dei secondi = 0
I2cStart();
I2cWriteMaster(RTC_WRITE);
I2cWriteMaster(RTC_SECONDS);
I2cWriteMaster(value);
I2cStop();
}
E poi dopo l'inizializzazione del modulo i2C e' corretto fare seguire da uno start e poi uno stop del RTC per farlo funzionare correttament?
Saluti
Lello
Vorrei essere sicuro della sequenza delle operazioni da eseguire.
Allego quello che ho scritto per lo start:
void Pcf8563Start(void)
{
char value=0;
I2cStart();
I2cWriteMaster(RTC_WRITE);
I2cWriteMaster(RTC_SECONDS);
I2cRepStart();
I2cWriteMaster(RTC_READ);
value=I2cReadMaster(0);
I2cStop();
value=value & 0b01111111; // per avviare l'oscillatore il bit 7 dei secondi = 0
I2cStart();
I2cWriteMaster(RTC_WRITE);
I2cWriteMaster(RTC_SECONDS);
I2cWriteMaster(value);
I2cStop();
}
E poi dopo l'inizializzazione del modulo i2C e' corretto fare seguire da uno start e poi uno stop del RTC per farlo funzionare correttament?
Saluti
Lello
Si prega Accedi o Crea un account a partecipare alla conversazione.
Moderatori: Mauro Laurenti, StefA
Registrati al sito
Accedi a tutte le risorse e articoli non visibili pubblicamente, puoi registrarti con pochi passi.