协议的各种形式编写

协议的各种形式编写

接收的时候都是先接收高位。先接收第一行,在接收第二行。

大端模式(高位在前)

数据形式
在这里插入图片描述
方法一:

#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;
}

结果如下:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_45159887/article/details/129740208