I really do not understand why i have such values !
I need to convert an array of containing value into decimal value. I tried with a known array and the val calculated is not what it should be !
It does work under c console but not in IDE Arduino work
Thanks in advance
unsigned long hex2int(char *a, unsigned int len)
{
unsigned char ab[8] ={0, 0, 0, 0 ,0, 0, 1, 1}; // Test
unsigned long val = 0;
len = 8;
Serial.println(val);
Serial.println();
for(int i=0;i<len;i++)
if(*(ab+i) <= 57) // If 0 <char< 9 (48<ascii<57)
{
val += ((*(ab+i)-48)<<(4*(len-1-i))); // translate to left 16*i times
Serial.print(*(ab+i)); // 16^1+ 16^2 + 16^3 .... according to i .
Serial.print(" ");
Serial.println(val);
}
else
{
val += (*(ab+i)-55)*(1<<(4*(len-1-i))); // If A <char<F (65<ascii<70)
Serial.print(*(ab+i));
Serial.println(" ");
Serial.println(val);
}
}
}
">