初入传感器生产企业,对于单片机的水平仅为天翔老师的10天学会单片机层次,下面的代码是一款传感器有关于数据包的编程部分,有几个问题想请教下。
union { // 静态共用体send_pack unsigned char buf[15]; // 数据包共15位 struct { unsigned char start0; // 包头0 0x1d unsigned char start1; // 包头1 0x1d unsigned char command; // 指令码 unsigned char len; // 数据长度 float d_ar; // 方向角 float d_bt; // 高低角 unsigned char chksum; // 校验码 unsigned char end0; // 包尾0 0x1e unsigned char end1; // 包尾1 0x1e }member; }send_pack; // 共用体send_pack定义结束
请问union,struct,member,send_pack这几个单词分别代表什么意思?在这段代码中的作用是什么?
C语言结构体(struct)常见使用方法
联合体(union)的使用方法及其本质
关于UNION,你看这个资料:
禁止外部链接!
关于struct,你看这个资料:
我看楼主没有C语言基础,建议买本C语言的书籍好好学习一下。
send_pack是共同体的名字
作用:
你发数据时,只去操作buf就可以了,也方便。
读取到buf的数据,自然就分配到struct 中的各成员了。
在这个结构里,已经给你转换好了。
d_ar=buf[4、5、6、7]
d_bt=buf[8、9、10、11]