新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 單片機(jī)中的位域操作

        單片機(jī)中的位域操作

        作者: 時間:2016-11-26 來源:網(wǎng)絡(luò) 收藏
        在一個工程項目中,有時候我們經(jīng)常會用到許多狀態(tài)標(biāo)志位。很多時候我們會去程序中定義這些變量,而這些變量往往占用了一個字節(jié)(byte),然而我們需要的僅僅是一個狀態(tài)位(bit)。這樣去定義變量不僅浪費(fèi)了存儲空間,而且不利于變量管理。下面,介紹一種使用位域的方法定義狀態(tài)標(biāo)志的方法:

        //定義聯(lián)合體,同時命名別名為function

        本文引用地址:http://www.104case.com/article/201611/321954.htm

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

        }function;
        function myflag;//定義聯(lián)合體變量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;
        }



        關(guān)鍵詞: 單片機(jī)位域操

        評論


        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 乌审旗| 宜城市| 同江市| 罗山县| 台南市| 云阳县| 浪卡子县| 芮城县| 苏尼特左旗| 丰县| 广宁县| 昭觉县| 新闻| 日喀则市| 沙雅县| 彭山县| 章丘市| 乌拉特后旗| 区。| 周口市| 内丘县| 长寿区| 乌兰察布市| 和硕县| 平度市| 田东县| 靖州| 黄骅市| 瓮安县| 达尔| 诸城市| 孝感市| 安多县| 广宗县| 呼伦贝尔市| 册亨县| 监利县| 邹城市| 东山县| 金湖县| 河津市|