完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
电子发烧友论坛|
初入传感器生产企业,对于单片机的水平仅为天翔老师的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这几个单词分别代表什么意思?在这段代码中的作用是什么? |
|
相关推荐
13个回答
|
|
|
|
|
|
|
|
|
感谢感谢
|
|
|
|
|
|
union最好别使用
|
|
|
|
|
|
|
|
|
|
|
|
云汉达人
union是共同体, struct是结构体 member是结构体的名字 send_pack是共同体的名字 作用: buf[0]=start0 buf[1]=start1 buf[2]=command ...... buf[13]=end0 buf[14]=end1 你发数据时,只去操作buf就可以了,也方便。 读取到buf的数据,自然就分配到struct 中的各成员了。 其中float 的数据占用buf中的四个元素。 善于使用struct与union会让你的程序好很多。 |
|
|
|
|
|
|
|
|
|
|
|
赶紧看书重新学习一遍C语言吧,推荐C Primer Plus(第五版),有电子版的。
|
|
|
|
|
|
感谢,从来没学过C语言,都是看天翔老师的书里面学了简单的一些。
|
|
|
|
|
|
请问如何将一个float型通过4个char型发送?
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
float型是32位,char是8位。可以将float型乘以10的N次方,去掉小数点。
|
|
|
|
|
|
建议买本C语言,或者是MATLAB看看
|
|
|
|
|
只有小组成员才能发言,加入小组>>
1018 浏览 1 评论
1849 浏览 0 评论
1830 浏览 1 评论
3254 浏览 5 评论
3581 浏览 9 评论
1020浏览 1评论
1849浏览 1评论
如何知道嵌入式电子控制单元 (ECU) 中的RAM使用情况?
1359浏览 1评论
1851浏览 0评论
1177浏览 0评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-1 20:36 , Processed in 1.024602 second(s), Total 100, Slave 79 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
1770