C语言将4个16进制char字符合并成一个int数
串口接收只能按照char字符发送 所以需要拆分数据,下面代码为串口接收到的字符还原为int类型数字(int为32位)
int rev_data(int a,int b,int c,int d)
{
int e = 0;
e=d;
e<<=8;
e|=c;
// printf('a = %X,b= %x,e= %X\n',a,b,e);
e<<=8;
e|=b;
// printf('a = %X,b= %x,e= %X\n',a,b,e);
e<<=8;
e|=a;
// printf('a = %X,b= %x,e= %d\n',a,e,e);
return e;
}
输入:0x12,0x34,0x56,0x78,返回:2018915346或者0x78563412
不清楚可以留言,我看到会回复!
赞 (0)