在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > MSP430中用位段定義自己的標(biāo)志

            MSP430中用位段定義自己的標(biāo)志

            作者: 時(shí)間:2016-11-11 來(lái)源:網(wǎng)絡(luò) 收藏
            在編寫程序中,經(jīng)常需要自己定義標(biāo)志(位)。如果每個(gè)標(biāo)志占用一個(gè)字節(jié),會(huì)占用很大空間,可以用位段來(lái)實(shí)現(xiàn),把若干個(gè)標(biāo)志集中在一個(gè)存儲(chǔ)單元中。

            1.位段的定義

            本文引用地址:http://www.biyoush.com/article/201611/316579.htm

            關(guān)于位段的定義,就不多說(shuō)了,去查閱任何一本C語(yǔ)言的書都可以查到

            2.微處理器中標(biāo)志位的定義

            對(duì)于MSP430,是16位處理器,可以一次讀取16位的數(shù)據(jù),標(biāo)志位也可定義為16位的。

            下面的定義將位段和共用體結(jié)合在一起用,因?yàn)楣灿皿w的長(zhǎng)度取決于最長(zhǎng)成員的長(zhǎng)度,因此,可以在共用體中聲明一個(gè)int成員,對(duì)它清0則可以清除整個(gè)標(biāo)志字(覆蓋)。

            union FLAG

            {

            unsigned int BYTE;

            struct

            {

            unsigned b0:1;

            unsigned b1:1;

            unsigned b2:1;

            unsigned b3:1;

            unsigned b4:1;

            unsigned b5:1;

            unsigned b6:1;

            unsigned b7:1;

            unsigned b8:1;

            unsigned b9:1;

            unsigned b10:1;

            unsigned b11:1;

            unsigned :4;

            }bool;

            }myFlag;

            2.標(biāo)志字的引用舉例

            #define change_bit myFlag.bool.b0

            #define sov_bit myFlag.bool.b1

            #define tb0_bit myFlag.bool.b4

            #define tb1_bit myFlag.bool.b5

            #define tb2_bit myFlag.bool.b6

            #define tb3_bit myFlag.bool.b7

            #define tv0_bit myFlag.bool.b8

            #define tv1_bit myFlag.bool.b9

            #define tv2_bit myFlag.bool.b10

            #define tv3_bit myFlag.bool.b11

            /************************************************

            void mode_task(union FLAG *in_mode)//注意:共用體不能作為函數(shù)參數(shù),也不能作為返回值,但是可以使用指向共用體變量的指針

            {

            in_mode -> bool.b0=1;

            in_mode -> bool.b5=1;

            /*也可這樣寫

            in_mode -> BYTE|=0x21;*/

            }

            /********************************************/

            void main(void)

            {

            my_Flag.BYTE=0X00;//整個(gè)標(biāo)志字清0

            while(1)

            {

            mode_task(&my_Flag);

            }

            }



            關(guān)鍵詞: MSP430位段標(biāo)

            評(píng)論


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

            關(guān)閉