AIUTO con PCF8563!

11 Anni 7 Mesi fa - 11 Anni 7 Mesi fa #1 da StefA
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
  • Avatar di StefA
  • Moderator
  • Moderator
Di più
11 Anni 7 Mesi fa - 11 Anni 7 Mesi fa #2 da StefA
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?

..avevano magari fatto lo sgambetto al ka, ma il sangue restava sempre più denso dell'acqua.. [cit.]
Ultima Modifica 11 Anni 7 Mesi fa da StefA.

Si prega Accedi o Crea un account a partecipare alla conversazione.

  • StefA
  • Avatar di StefA
  • Moderator
  • Moderator
Di più
11 Anni 7 Mesi 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

Si prega Accedi o Crea un account a partecipare alla conversazione.

  • Mauro Laurenti
  • Avatar di Mauro Laurenti
  • Moderator
  • Moderator
Di più
11 Anni 7 Mesi fa #4 da StefA
Risposta da StefA al topic Re: AIUTO con PCF8563!
ok, grazie.
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
  • Avatar di StefA
  • Moderator
  • Moderator
Di più
11 Anni 7 Mesi 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

Si prega Accedi o Crea un account a partecipare alla conversazione.

  • Mauro Laurenti
  • Avatar di Mauro Laurenti
  • Moderator
  • Moderator
Di più
Moderatori: Mauro LaurentiStefA

Registrati al sito

Accedi a tutte le risorse e articoli non visibili pubblicamente, puoi registrarti con pochi passi.

Registrati al sito LaurTec.

Login