国产肉体XXXX裸体137大胆,国产成人久久精品流白浆,国产乱子伦视频在线观看,无码中文字幕免费一区二区三区 国产成人手机在线-午夜国产精品无套-swag国产精品-国产毛片久久国产

新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > MSP430中用位段定義自己的標志

MSP430中用位段定義自己的標志

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

1.位段的定義

本文引用地址:http://m.ptau.cn/article/201611/316579.htm

關于位段的定義,就不多說了,去查閱任何一本C語言的書都可以查到

2.微處理器中標志位的定義

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

下面的定義將位段和共用體結(jié)合在一起用,因為共用體的長度取決于最長成員的長度,因此,可以在共用體中聲明一個int成員,對它清0則可以清除整個標志字(覆蓋)。

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.標志字的引用舉例

#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;//整個標志字清0

while(1)

{

mode_task(&my_Flag);

}

}



關鍵詞: MSP430位段標

評論


技術專區(qū)

關閉