airwill 发表于 2014-11-16 14:01
最简单: 四个16进制数按序放在内存中, 然后强制转换这个地址的数据类型.
额可能我表达有问题,但我现在就是在想如何得到四个十六进制数,发送过来的是33 44 43 43 43 43 43 44 8个十六进制数,我将其转换成了对应的ASCII码3 D C C C C C D。然后想将其两两一组,放入数组hexbyte中,以下是我的代码:
if(UCSR0A & (1<<RXC0))
{
data=uart_receive0();
t++;//t初值为0
if(t==1)
{
asc=HexToAsc(data);shi=asc*10;
}
if(t==2)
{
t=0;asc=HexToAsc(data);//十六进制转ASCII码
sum=shi+asc;
hexbyte[m]=sum;m++;
}
}
|