STM32中关于结构体成员的赋值问题

2019-03-23 18:06发布

typedef struct tagIsOutputActivate
{
    u8 AllOutput                :1;      
    u8 IO_GREEN_LED                :1;      
    u8 IO_RED_LED                :1;     
    u8 IO_AMP                    :1;      
    u8 IO_TX_LED                :1;        
    u8 IO_RX_LED                :1;        
    u8 IO_CHPARASET_LED            :1;        
    u8 IO_RADIO_OPEN_LED        :1;      

}stIsOutputActivate;
这种结构体中的成员后面的:1是什么意思额。

此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
19条回答
lcofjp
1楼-- · 2019-03-25 07:41
 精彩回答 2  元偷偷看……
forever1314
2楼-- · 2019-03-25 11:53
BlackHeart4theW 发表于 2016-7-12 11:44
补充一下,第一个:1是最低位的bit,往下bit逐渐左移(就是变大,8421码那种。。),推荐你看看C相关教材 ...

好的,谢谢你。
迈尔风随
3楼-- · 2019-03-25 15:56
lcofjp 发表于 2016-7-12 04:04
C99中的内容:
A bit-field shall have a type that is a qualified or unqualified version of _Bool,  ...

但是有些编译器是不支持C99特性的,为保证兼容还是使用unsigned int型,具体应该以使用的编译器支持的类型为准吧
moyanming2013
4楼-- · 2019-03-25 19:17
 精彩回答 2  元偷偷看……
白手梦想家
5楼-- · 2019-03-26 00:13
本帖最后由 weizhongc 于 2016-7-12 22:40 编辑
moyanming2013 发表于 2016-7-12 10:48
位域是不能用u8声明的,只能是int型。你C语言基础太差,赶紧看书。

  
白手梦想家
6楼-- · 2019-03-26 03:43
wugx 发表于 2016-7-12 13:52
你欠拍,记那些东西干嘛???用时候查不就行了

在编译器里面试一下不就知道了,编译器说yes才是真的对

一周热门 更多>