集合四种功能,我的“双核独显”电源制作过程 12-06
ADV = m_ADCSum;
break;
default:
break;
}
Channelin ++; //切换通道
if(Channelin 》 3)
Channelin = 0;
}
若是用AD来控制输出,更需要这样做。避免临界值时的误动作 。
三、键盘程序
//---------------------------------
//按键程序
//---------------------------------
void KeyPro()
{
if(KeyScanTim 《200) //20ms scan时基函数中计时
return;
KeyScanTim =0 ;
//KeySet
if(!PI_KeySet)
{
if(b_KeySetBac)
{
if(KeySetCount《255)
KeySetCount ++;
}
else
b_KeySetBac =1;
if(KeySetCount 》6)
{
b_KeySetLong = 1; //长按键,不需放手既可产生
KeyNum = 0;
KeySetCount =0;
b_KeySetBac =0;
LongKeyExitTim = 0;
}
}
else
{
if(b_KeySetBac LongKeyExitTim 》 2)//防止长按后,产生一个多余的短按键
{
b_KeySet = 1; //短按键,放手后产生
KeyNum = 0;
}
b_KeySetBac =0;
KeySetCount = 0;
}
}
一个按键,既可响应长按,也可响应短按 。
评论