51的位(bit)具体是怎么用的菜鸟请教

如题所述

一共可以定义16个字节的位寻址变量

static uchar bdata CanBusFlag=0; //can标志
sbit CanRcv_Good=CanBusFlag^0; //成功接收标志
sbit CanSend_Good=CanBusFlag^1; //成功发送标志
sbit CanErrFlag=CanBusFlag^2; //can总线错误标志
sbit CanDtOverFlag=CanBusFlag^3; //can总线超载标志
sbit CanWuiFlag=CanBusFlag^4; //can总线唤醒中断

//你改变CanBusFlag,下面的一堆变量也变了,反之既然

定义:
union UniTEMP // 温度采样值
{
uint TEMP;
uchar TEMP_AD[2];
}idata uTEMP; //idata是定义变量存储空间,这里用的8952单片机,有idata空间
。。。。
程序里面使用:
uTEMP.TEMP=XXX;//其实TEMP_AD[2]数组里面的内容也变了,union 结构嘛
温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答