IAR環境定義位變量標志位 STM8 MSP430通用


首先建立一個公共點H文件,加入通用代碼如下

typedef union
{
    struct
    {
        unsigned char b0:1;
        unsigned char b1:1;
        unsigned char b2:1;
        unsigned char b3:1;
        unsigned char b4:1;
        unsigned char b5:1;
        unsigned char b6:1;
        unsigned char b7:1;
    } bits;
} UINT8_VAL;

  通用定義聯合體寫好以后,要定義一個只占用個Byte的標志位的話,只要定義一下uchar型字節,然后引用它的其中某一位就可以了。

比如在C文件中定義一個聯合體,加入代碼

UINT8_VAL  BitFlag1 = {0x00};	//每一個bit初始化為0,如果對某一位置1可用BITx

  好了,定義了一個BitFlag1的聯合體,如果要在其他點C文件中引用其中的某一個位標志只要在剛剛的點H文件中外部聲明一下就可以了,如下代碼

//-------------------位變量聲明--------------------------
extern UINT8_VAL  BitFlag1;
#define t1msFlag			BitFlag1.bits.b0	// 任務1

  外部聲明了聯合體 BitFlag1 ,同時宏定義了其中的一個位t1msFlag作為這個聯合體中字節的最低Byte位,在其他C文件中就可以直接對t1msFlag進行布爾讀寫操作了。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM