协议的各种形式编写
接收的时候都是先接收高位。先接收第一行,在接收第二行。
大端模式(高位在前)
数据形式
方法一:
#include <stdio.h>
typedef struct
{
int byte1:8;
int byte2:8;
}bit8_bi16;
typedef union
{
int bit16;
bit8_bi16 data;
}merge;
int main()
{
int a[2] = {0xab,0xcd};//从串口按顺序接收
//进行数据处理
//大端模式的读出
merge d;
d.data.byte1 = a[1]; //顺序跟接收顺序相反
d.data.byte2 = a[0];
printf("大端模式的读出:%x\n",d.data);
return 0;
}
方法二:
int main()
{
int a[2] = {0xab,0xcd};//从串口按顺序接收
int c = (a[0]<<8)|(a[1]);
printf("大端模式的读出:%x\n",c);
return 0;
}
结果如下: