C'è una funzione che mi converte un valore numerico in esadecimale a due byte ?
Grazie, Alberto
C'è una funzione che mi converte un valore numerico in esadecimale a due byte ?
Grazie, Alberto
Per caso hai a che fare con un ricevitore IR ?
No
Lo puoi convertire nel formato byte basso/byte alto con lowByte() e highByte().
Non ce la faccio
Ho googlato per un'ora ma non ci capisco una mazza.
Io vorrei 'creare' una funzione che inviadole, per esempio il valore 16, mi rimandi 2 byte 49 e 48.
C'è nessuno che mi regala questa funzione ?
Grazie, Alberto
Quale sarebbe la relazione tra 16 e i numeri 49 - 48 ? Non è certo una conversione di nessun tipo tra valori.
Inoltre cosa intendi esattamente con conversione in esadecimale ?
Hai un valore numerico, che internamente al micro è sempre in binario (= esadecimale se preso a gruppi di 4 bit) e vuoi inviarlo sulla seriale in formato ASCII come valore esadecimale ?
Invio 4 byte cosi:(sono gli ultimi 4)
sendMSG(48,49,5, 68,48,48,32,49,48,48,48);
e li leggo così:
data_motor = (hex2num(data[7])<<4)+(hex2num(data[8]));
data_state = (hex2num(data[9])<<4)+(hex2num(data[10]));
data_motor = 16
data_state = 0
Se mando:
sendMSG(48,49,5, 68,48,48,32,49,49,48,48);
avrò:
data_motor = 17
data_state = 0
Boh ...... non ci sto capendo più un .....
Io vorrei solo fare una funzione che dato un numero da 1 a 99 mi ritorni un formato così:
Entro nella funzione con
10
mi ritorna
48 e 65 (BYTE1 0, BYTE2 A)
Entro nella funzione con
11
mi ritorna
48 e 66 (BYTE1 0, BYTE2 B)
Entro nella funzione con
12
mi ritorna
48 e 67 (BYTE1 0, BYTE2 C)
Entro nella funzione con
....
Entro nella funzione con
15
mi ritorna
48 e 70 (BYTE1 0, BYTE2 F)
Entro nella funzione con
16
mi ritorna
49 e 48 (BYTE1 1, BYTE2 0)
e così via.
Non so se sia corretto ma è questa cosa che non riesco a fare che mi fa andare fuori.
Grazie, Alberto
int bytea;
int byteb;
int cambio(int num) {
switch(num) {
case 10:
bytea = 0x48;
byteb = 0x65;
break;
case 11:
bytea = 0x48;
byteb = 0x66;
break;
case 12:
bytea = 0x48;
byteb = 0x67;
break;
//continua tu...
}
}
non è ottimizzato al massimo ma dovrebbe andare... se ho capito quello che volevi quando la chiami poi bytea e byteb assumono i 2 valori