單片機的位定義
typedef unsigned char uchar;
uchar bdata flag;
sbit F1 = flag^0;
sbit F2 = flag^1;
...
sbit F8 = flag^7;
之后就可以對F1—F8這些變量進行bool操作了。
在飛思卡爾單片機中,我們卻用結(jié)構(gòu)體實現(xiàn)相關(guān)定義:
struct{
byte F0 :1;
byte F1 :1;
byte F2 :1;
byte F3 :1;
byte F4 :1;
byte F5 :1;
byte F6 :1;
byte F7 :1;
}Flag;
定義完畢,我們就可以這樣使用了。Flag.F0 = 1 or 0;...Flag.F7 = 1 or 0.
建議大家多多使用這種位定義的方式對要用到的標(biāo)志位進行定義,節(jié)約內(nèi)存空間。
評論