Hai detto che il resto lo facevi te Comunque quello che cerchi è la conversione da hex a int e con il tmp_buf del mio esempio basta che fai:
codice:
unsigned char tmp_dec = (tmp_buf[0] - '0') * 16 + (tmp_buf[1] - '0');
ottimizzando un poco:
codice:
s = "C60008";
unsigned char tmp_conv[10];
char *tmp_s;
unsigned char *tmp_p = tmp_conv;
memset(tmp_conv, 0, sizeof(tmp_conv));
for( i = 0, tmp_s = s; i < strlen(s); i += 2)
{
*tmp_p = (tmp_s[0] - '0') * 16 + (tmp_s[1] - '0');
tmp_p++;
tmp_s += 2;
}
Prova un po' se va...l'ho scritto velocemente