完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
union LEDTYPE {
struct { volatile unsigned char A : 1; volatile unsigned char B : 1; volatile unsigned char C : 1; volatile unsigned char D : 1; volatile unsigned char E : 1; volatile unsigned char F : 1; volatile unsigned char G : 1; volatile unsigned char DP : 1; } B; volatile unsigned char W; } ; 这是个什么共用体?怎么称呼的?这是共用体后面又跟了结构体吗?变量后面跟:1是什么意思? 哪位大神可以帮帮我,小弟跪谢~~; |
|
相关推荐
14个回答
|
|
:1代表一位。好处是可以一位一位设置,用W一个字节发出去,A代表W第0位 B代表W第1位
|
|
|
|
DP是不是代表W第8位?
|
|
|
|
7啊大哥 0~7
|
|
|
|
|
|
|
|
union PORG{
volatile unsigned char A : 1; volatile unsigned char B : 1; volatile unsigned char C : 1; volatile unsigned char D : 1; volatile unsigned char E : 1; volatile unsigned char F : 1; volatile unsigned char G : 1; volatile unsigned char DP : 1; }; union PORG H; while(1) { H.A = ~H.A; H.G = ~H.G; } 我是这样写的,调试的时候,我发现修改H.A和H.G,并没有影响到B,C,D,E,F...... A,B,C,D......每个成员只分别占用了共用体变量H的一个位 |
|
|
|
另外加一个W的意思是可以直接赋值W来改变A-GP的值,一看你这个定义就是用来数码管显示的。
|
|
|
|
找到原因了
因为共用体的成员我是这样定义的volatile unsigned char A : 1; 这样每个成员只会占用共用体的一个位,在做翻转的时候之后影响到unsigned char A : 1;对应的那个位,如果我定义unsigned char A;的话,就会影响到全部 |
|
|
|
结构变量B和char型变量W,共用同一块存储单元,比如说赋值操作W=0xFF,那么这时候读取B的每个成员变量就都是1
|
|
|
|
你好,那上面定义的共用体里面 volatile unsigned char W;是什么意思?有什么作用?
|
|
|
|
|
|
|
|
内存足够的今天,不需要这么省了
|
|
|
|
這樣定義的目的不是要省內存阿...
|
|
|
|
是啊,我也发现了,看来大家还是和我有同感,谢谢大家的回复
|
|
|
|
这是c语言的位域(位段)
|
|
|
|
只有小组成员才能发言,加入小组>>
请问下图大疆lightbridge2遥控器主板电源芯片型号是什么?
4439 浏览 1 评论
使用常见的二极管、三极管和mos做MCU和模组的电平转换电路,但是模组和MCU无法正常通信,为什么?
311浏览 2评论
为了提高USIM卡电路的可靠性和稳定性,在电路设计中须注意的点有哪些?
295浏览 2评论
311浏览 2评论
310浏览 2评论
352浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 02:54 , Processed in 1.317963 second(s), Total 104, Slave 87 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号