一、按byte读写的宏
#define BYTE0(x) (*(((uint8_t*)&(x)) + 0))
#define BYTE1(x) (*(((uint8_t*)&(x)) + 1))
#define BYTE2(x) (*(((uint8_t*)&(x)) + 2))
#define BYTE3(x) (*(((uint8_t*)&(x)) + 3))
二、读写调用案例
// 大端方式打包
int sum = 0;
uint8_t pkgBuf[2];
int i = 0;
pkgBuf[i++] = BYTE1(sum);
pkgBuf[i++] = BYTE0(sum);
// 大端包数据解析
int sum = 0;
uint8_t pkgBuf[2];
int i = 0;
BYTE1(sum) = pkgBuf[i++];
BYTE0(sum) = pkgBuf[i++];
// 小端的BYTE1和BYTE0调换位置