以设置区分不同界面的标志位为例
这里应用场景为同时只能存在一个界面,那么就涉及到标志位的清零与置1操作以及该标志位是否为1
#define _BIT0 0x0001
#define _BIT1 0x0002
#define _BIT2 0x0004
#define _BIT3 0x0008
#define _BIT4 0x0010
#define _BIT5 0x0020
#define _BIT6 0x0040
#define _BIT7 0x0080
#define _BIT8 0x0100
#define _BIT9 0x0200
#define _BIT10 0x0400
#define _BIT11 0x0800
#define _BIT12 0x1000
#define _BIT13 0x2000
#define _BIT14 0x4000
#define _BIT15 0x8000
// 设置标志位
unsigned int g_u16PageFlag;
#define SetPage0Flag() {g_u16PageFlag&=_BIT0;g_u16PageFlag|=_BIT0;}
#define SetPage1Flag() {g_u16PageFlag&=_BIT1;g_u16PageFlag|=_BIT1;}
#define SetPage2Flag() {g_u16PageFlag&=_BIT2;g_u16PageFlag|=_BIT2;}
#define SetPage3Flag() {g_u16PageFlag&=_BIT3;g_u16PageFlag|=_BIT3;}
#define SetPage4Flag() {g_u16PageFlag&=_BIT4;g_u16PageFlag|=_BIT4;}
#define SetPage5Flag() {g_u16PageFlag&=_BIT5;g_u16PageFlag|=_BIT5;}
#define SetPage6Flag() {g_u16PageFlag&=_BIT6;g_u16PageFlag|=_BIT6;}
#define SetPage7Flag() {g_u16PageFlag&=_BIT7;g_u16PageFlag|=_BIT7;}
#define SetPage8Flag() {g_u16PageFlag&=_BIT8;g_u16PageFlag|=_BIT8;}
#define SetPage9Flag() {g_u16PageFlag&=_BIT9;g_u16PageFlag|=_BIT9;}
#define SetPage10Flag() {g_u16PageFlag&=_BIT10;g_u16PageFlag|=_BIT10;}
#define SetPage11Flag() {g_u16PageFlag&=_BIT11;g_u16PageFlag|=_BIT11;}
#define SetPage12Flag() {g_u16PageFlag&=_BIT12;g_u16PageFlag|=_BIT12;}
#define SetPage13Flag() {g_u16PageFlag&=_BIT13;g_u16PageFlag|=_BIT13;}
#define SetPage14Flag() {g_u16PageFlag&=_BIT14;g_u16PageFlag|=_BIT14;}
#define SetPage15Flag() {g_u16PageFlag&=_BIT15;g_u16PageFlag|=_BIT15;}
// 判断标志位
#define IsPage0() (g_u16PageFlag&_BIT0)
#define IsPage1() (g_u16PageFlag&_BIT1)
#define IsPage2() (g_u16PageFlag&_BIT2)
#define IsPage3() (g_u16PageFlag&_BIT3)
#define IsPage4() (g_u16PageFlag&_BIT4)
#define IsPage5() (g_u16PageFlag&_BIT5)
#define IsPage6() (g_u16PageFlag&_BIT6)
#define IsPage7() (g_u16PageFlag&_BIT7)
#define IsPage8() (g_u16PageFlag&_BIT8)
#define IsPage9() (g_u16PageFlag&_BIT9)
#define IsPage10() (g_u16PageFlag&_BIT10)
#define IsPage11() (g_u16PageFlag&_BIT11)
#define IsPage12() (g_u16PageFlag&_BIT12)
#define IsPage13() (g_u16PageFlag&_BIT13)
#define IsPage14() (g_u16PageFlag&_BIT14)
#define IsPage15() (g_u16PageFlag&_BIT15)