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)
