Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

Problema conversione da STRINGA A HEX

Raccolta di codici sorgenti

Moderatore: Foto UtentePaolino

0
voti

[1] Problema conversione da STRINGA A HEX

Messaggioda Foto UtenteDryden » 10 ago 2012, 15:49

Salve a tutti.

Mi sto cimentando ad usare un display grafico a colori e per ragioni di spazio, devo salvare le immagini da visualizzare dentro una SD.
Le immagini le salvo in formato HEX su file TXT che poi vado a leggere con il PIC.

In pratica mi trovo un file di questo tipo:

0XEF,0X5D,0XEF,0X5D ecc....

Il mio problema è leggere per esempio 0XEF e convertirlo.

In pratica leggo il dato e mi ritrovo una stringa di 4 elementi in questo modo

S1 = 0
S2 = X
S3 = E
S4 = F

Io ho la necessità di ricomporre il tutto per avere un solo byte con il valore 0XEF (239 in decimale) ma non ci riesco a farlo. Qualcuno a qualche suggerimento sul percorso da fare per arrivare al risultato di cui ho bisogno?

Grazie a tutti!
Avatar utente
Foto UtenteDryden
20 4
New entry
New entry
 
Messaggi: 97
Iscritto il: 1 gen 2011, 14:37
Località: Bolzano

0
voti

[2] Re: Problema conversione da STRINGA A HEX

Messaggioda Foto UtenteTardoFreak » 10 ago 2012, 16:56

Questa funzione converte una stringa esadecimale di 2 caratteri. Nel tuo caso basta inviargli la stringa che parte dal carattere successivo a "X".
Codice: Seleziona tutto
//--------------------------------------------------------------------------------------
//  unsigned char strHexToUchar(char *s)
//    Converte una stringa esadecimale in un unsigned char
//    Se la stringa è più lunga di due caratteri vengono solo considerati i primi due
unsigned char strHexToUchar(char *s)
{
  unsigned char ritorno;

  if(*s >'9') ritorno = *s - 55; else ritorno = *s - 48;
  s++;
  if(*s)
  {
    ritorno <<= 4;
    if(*s >'9') ritorno += *s - 55; else ritorno += *s - 48;
  }
  return(ritorno);
}


Curiosità: percé hai salvato i bytes mettendo davanti ad ognuno "0X"? :-M
Non serve a niente se non ad occupare più spazio.
"La follia sta nel fare sempre la stessa cosa aspettandosi risultati diversi".
"Parla soltanto quando sei sicuro che quello che dirai è più bello del silenzio".
Rispondere è cortesia, ma lasciare l'ultima parola ai cretini è arte.
Avatar utente
Foto UtenteTardoFreak
73,9k 8 12 13
-EY Legend-
-EY Legend-
 
Messaggi: 15754
Iscritto il: 16 dic 2009, 11:10
Località: Torino - 3° pianeta del Sistema Solare

0
voti

[3] Re: Problema conversione da STRINGA A HEX

Messaggioda Foto UtenteDryden » 10 ago 2012, 17:16

Intanto grazie per la risposta e per il pezzo di codice!

Per convertire le immagini per il display 320*240 a colori uso un software e il prefisso OX me lo mette in automatico e non posso farci nulla.
Comunque usando una SD esterna, il maggior spazio occupato non mi preoccupa più di tanto!

Grazie 1000 per tutto!

Buona serata e buone Ferie!
Avatar utente
Foto UtenteDryden
20 4
New entry
New entry
 
Messaggi: 97
Iscritto il: 1 gen 2011, 14:37
Località: Bolzano


Torna a Firmware e programmazione

Chi c’è in linea

Visitano il forum: Nessuno e 5 ospiti