使用C语言实现STM32的16进制转10进制和10进制移位转16进制
/*********16进制转10进制*************/
u16 hextoDec(u8 hex)
{
u16 sum=0,mul=1;
int i,r;
int count=0;
do{
r=hex%16;
for(i=0;i<count;i++)
mul*=16;
mul*=r;
sum+=mul;
mul=1;
count++;
}while(hex/=16);
return sum;
}
int main
{
u16 num;
u16 buf[2];
num= hextoDec(0xffff);//16进制转10进制
buf[0] = (uint8_t)(num[0] >> 8);
buf[1] = (uint8_t)(num[0]);
}
结果:buf[0]=0xff,buf[1]=0xff;