开关量变位的巡检程序
已有 1273 次阅读2016-11-2 17:21
|个人分类:嵌入式开发|
开关量变位
在电力系统中应用的电力设备,经常有开关量状态需要转化为0或1的数字量上传至决策单元。开关量巡检的程序如下构造比较合理:
unsigned
int oldFlag,curFlag,flag;
int
i;
oldFlag=0;
while(1)
{
curFlag =
getNewFlag();
flag =
oldFlag^curFlag;
for
(i=0;i<BIT_NUM;i++)
{
if (flag&(0x1<<i) ==
(0x1<<i))
{
printf("bit[%d] changed to
%d!\n",i,(curFlag&(0x1<<i))>>i);
handleEvent();
oldFlag =
curFlag;
}
}
}