#pragma pack(1)//一字节对齐,DMA传输时需要字节对齐
typedef struct _serial_data
{
uint8_t syn;
uint8_t type;
union{
struct{
float liner[3],angular[3];
}vel;
struct{
bool rot_ok,acc_ok,mag_ok;
double rot[3],acc[3],mag[3];
}imu;
float pid[3];
}dat;
uint8_t syn_CR;
uint8_t syn_LF;
}serialData;
#pragma pack()
这一段数据分为四个部分
uint8_t syn;//头
uint8_t type;//数据类别,用一个枚举型数据
union dat //联合体数据
uint8_t syn_CR;//尾校验
uint8_t syn_LF;