2021/07/30
以78F0849单片机为例,其短直接寻址区域为FE20~FEDF。定义在这个区域内的变量支持位寻址,故要使用自定义的位变量,首先要把变量定义在这个区域内:
__saddr __no_init __BITS8 bSegTmp0; /* 定义一个变量bSegTmp0在短直接寻址区域 */
#define bBit0 bSegTmp0.no0 /* 用宏定义方便使用 */
#define bBit1 bSegTmp0.no1
int main(void)
{
while(1)
{
if (bBit0)
{
bBit1 = 1;
}
else
{
bBit1 = 0;
}
}
}