INTERRUPT_HANDLER(TIM2_UPD_OVF_BRK_IRQHandler, 13)<br />
{<br />
<br />
KeyCurrent=((GPIO_ReadInputData(GPIOB)&0xc0)>>6); <br />
<br />
<br />
if(KeyCurrent!=KeyOld) //如果两次值不等,说明按键情况发生了改变<br />
{<br />
KeyNoChangedTime=0; //按键按下情况为0<br />
KeyOld=KeyCurrent; //保存当前按键情况<br />
//return; //·μ??<br />
}<br />
else<br />
{<br />
KeyNoChangedTime++; //按下时间累计<br />
if(KeyNoChangedTime>=1) //如果按下时间足够<br />
{<br />
KeyNoChangedTime=1;<br />
KeyPress=KeyOld; //保存按键<br />
KeyDown|=(~KeyLast)&(KeyPress); //求出新按下的键<br />
KeyUp|=KeyLast&(~KeyPress); //求出新释放的键<br />
KeyLast=KeyPress; //保存当前按键情况<br />
}<br />
}<br />
Key();<br />
TIM2_ClearITPendingBit(TIM2_IT_UPDATE);<br />
}<br />
<br />
<br />
我用STM8S207C8T6写程序,开发环境IAR,用定时器中断检测按键。<br />
可是按键反应很迟钝。请高手帮忙看看,谢谢!<br />
<br />
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
一周热门 更多>