- Messaggi: 1222
- Ringraziamenti ricevuti 104
AIUTO con PCF8563!
12 Anni 1 Mese fa - 12 Anni 1 Mese fa #1
da StefA
Rendering Error in layout Message/Item: array_keys(): Argument #1 ($array) must be of type array, null given. Please enable debug mode for more information.
AIUTO con PCF8563! è stato creato da StefA
Rendering Error in layout Message/Item: array_keys(): Argument #1 ($array) must be of type array, null given. Please enable debug mode for more information.
Si prega Accedi o Crea un account a partecipare alla conversazione.
- StefA
- Autore della discussione
- Moderator
Riduci
Di più
12 Anni 1 Mese fa - 12 Anni 1 Mese fa #2
da StefA
..avevano magari fatto lo sgambetto al ka, ma il sangue restava sempre più denso dell'acqua.. [cit.]
Risposta da StefA al topic Re: AIUTO con PCF8563!
dichiarando unsigned char anno diciamo che si riesce ad acquisire i vari dati, come ad esempio anno = get_years_RTCC ();
Il problema però rimane quando si vogliono visualizzare sul display LCD utilizzando la libreria di Mauro.
Se si fa WriteCharLCD(), mi stampa il carattere corrispondente a quel numero e se si fa WritrIntLCD() stampa il valore decimale di quel numero. Il fatto è che il numero..ad esempio 44 è decimale ma salvato come char, quindi io intendo 44 decimale, ma lo salva come 44 esadecimale; stampando l'Int visualizza 68 e stampando il Char stampa 'D'.
Come posso fare a visualizzare 44?
Un metodo che ho trovato è il seguente:
anno = get_years_RTCC();
sprintf(tempPrint,"%x",anno);
WriteStringLCD ("Anno: ");
WriteVarLCD(tempPrint);
dove le variabili sono dichiarate in questo modo:
unsigned char anno;
unsigned char tempPrint[3];
Però il compilatore mi da due warning che non sono belli per niente
Warning [2054] suspicious pointer conversion
Warning [2066] type qualifier mismatch in assignment
Mi sono stracomplicato la vita? Qualche anima pia conosce un metodo migliore?
Il problema però rimane quando si vogliono visualizzare sul display LCD utilizzando la libreria di Mauro.
Se si fa WriteCharLCD(), mi stampa il carattere corrispondente a quel numero e se si fa WritrIntLCD() stampa il valore decimale di quel numero. Il fatto è che il numero..ad esempio 44 è decimale ma salvato come char, quindi io intendo 44 decimale, ma lo salva come 44 esadecimale; stampando l'Int visualizza 68 e stampando il Char stampa 'D'.
Come posso fare a visualizzare 44?
Un metodo che ho trovato è il seguente:
anno = get_years_RTCC();
sprintf(tempPrint,"%x",anno);
WriteStringLCD ("Anno: ");
WriteVarLCD(tempPrint);
dove le variabili sono dichiarate in questo modo:
unsigned char anno;
unsigned char tempPrint[3];
Però il compilatore mi da due warning che non sono belli per niente
Warning [2054] suspicious pointer conversion
Warning [2066] type qualifier mismatch in assignment
Mi sono stracomplicato la vita? Qualche anima pia conosce un metodo migliore?
..avevano magari fatto lo sgambetto al ka, ma il sangue restava sempre più denso dell'acqua.. [cit.]
Ultima Modifica 12 Anni 1 Mese fa da StefA.
Si prega Accedi o Crea un account a partecipare alla conversazione.
- StefA
- Autore della discussione
- Moderator
Riduci
Di più
- Messaggi: 1222
- Ringraziamenti ricevuti 104
12 Anni 1 Mese fa #3
da Mauro Laurenti
Risposta da Mauro Laurenti al topic Re: AIUTO con PCF8563!
Ciao SteFa,
mi ero scordato di questo Thread perche' non avevo messo il flag.
Non puoi scrivere direttamente sul display i valori ritornati per i singoli valori, perche' sono in formato BCD.
Per tale ragione ho creato le funzioni per la data e l'orario.
Se guardi il codice sorgente PCF8563.c puoi vedere come converto i valori in stringa.
Per sapere il valore di ritorno o tipo di una variabile fai sempre riferimento al file header .h, indipendentemente dalla libreria che usi. Questa settimana dovrei finire la nuova documentazione delle librerie tutto scritto per Doxigen...
Ovvero tramite browser puoi navigare tra la documentazione ti tutte le librerie LaurTec.
Saluti,
Mauro
mi ero scordato di questo Thread perche' non avevo messo il flag.
Non puoi scrivere direttamente sul display i valori ritornati per i singoli valori, perche' sono in formato BCD.
Per tale ragione ho creato le funzioni per la data e l'orario.
Se guardi il codice sorgente PCF8563.c puoi vedere come converto i valori in stringa.
Per sapere il valore di ritorno o tipo di una variabile fai sempre riferimento al file header .h, indipendentemente dalla libreria che usi. Questa settimana dovrei finire la nuova documentazione delle librerie tutto scritto per Doxigen...
Ovvero tramite browser puoi navigare tra la documentazione ti tutte le librerie LaurTec.
Saluti,
Mauro
Si prega Accedi o Crea un account a partecipare alla conversazione.
12 Anni 1 Mese fa #4
da StefA
..avevano magari fatto lo sgambetto al ka, ma il sangue restava sempre più denso dell'acqua.. [cit.]
Risposta da StefA al topic Re: AIUTO con PCF8563!
ok, grazie.
La soluzione adottata da me è comunque una cosa fattibile o è proprio orrenda?
La soluzione adottata da me è comunque una cosa fattibile o è proprio orrenda?
..avevano magari fatto lo sgambetto al ka, ma il sangue restava sempre più denso dell'acqua.. [cit.]
Si prega Accedi o Crea un account a partecipare alla conversazione.
- StefA
- Autore della discussione
- Moderator
Riduci
Di più
- Messaggi: 1222
- Ringraziamenti ricevuti 104
12 Anni 1 Mese fa #5
da Mauro Laurenti
Risposta da Mauro Laurenti al topic Re: AIUTO con PCF8563!
Ciao,
sprintf non e' inusuale che venga usata per convertire dati.
Unica cosa e' che potresti perdere in efficienza, cosa che nel caso in questione non credo sia un problema.
Se hai ottenuto lo scopo credo sia una soluzione pulita.
...aggiungi solo un commento che spiega la conversione e la scelta fatta.
Saluti,
Mauro
sprintf non e' inusuale che venga usata per convertire dati.
Unica cosa e' che potresti perdere in efficienza, cosa che nel caso in questione non credo sia un problema.
Se hai ottenuto lo scopo credo sia una soluzione pulita.
...aggiungi solo un commento che spiega la conversione e la scelta fatta.
Saluti,
Mauro
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.
Login
© LaurTec 2006 - 2024