您的位置 首页 FPGA

单片机中的位域操作

在一个工程项目中,有时候我们经常会用到许多状态标志位。很多时候我们会去程序中定义这些变量,而这些变量往往占用了一个字节(byte),然

在一个工程项目中,有时分咱们常常会用到许多状况标志位。许多时分咱们会去程序中界说这些变量,而这些变量往往占用了一个字节(byte),但是咱们需求的仅仅是一个状况位(bit)。这样去界说变量不只浪费了存储空间,并且不利于变量办理。下面,介绍一种运用位域的办法界说状况标志的办法:

//界说联合体,一起命名别名为function

typedef union
{
u8 flagByte;
struct
{
u8 b0:1;
u8 b1:1;
u8 b2:1;
}bits;

}function;
function myflag;//界说联合体变量myflag

//变量操作

union _SYS_STATUS_
{
struct
{
unsignedm0: 1;

unsignedm1: 1;

unsignedm2: 1;

unsignedm3: 1;

unsignedm4: 1;

unsignedm5: 1;

unsignedm6: 1;

unsignedm7: 1;

unsignedi0: 1;

unsignedi1: 1;

unsignedi2: 1;

unsignedi3: 1;

unsignedi4: 1;

unsignedi5: 1;
unsignedi6: 1;

unsignedi7: 1;


};
struct
{
unsigned intsysStuAll;
};
}
externunion _SYS_STATUS_ sSysStatus;

void tempp()
{
myflag.flagByte=0;
myflag.flagByte=0xff;
myflag.bits.b0=0;
myflag.bits.b1=0;
}

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/fangan/fpga/258465.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部