按键程序为什么不能重复执行?可能涉及了硬件细节

2019-07-29 16:56发布

本帖最后由 _cir_ 于 2014-11-14 21:40 编辑

本人在开发一款产品,现在遇到了程序问题,请各位工程师不吝指教啊!
按键程序 按键程序 按键中被调用的程序 按键中被调用的程序
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
13条回答
_cir_
2019-07-30 09:31
本帖最后由 _cir_ 于 2014-11-16 15:05 编辑
Unshining 发表于 2014-11-16 13:46
KeyValue是什么?在哪里改变的?这很重要。
你处理过程中禁止了按键中断,但是处理完后你重新开启了按键中 ...

在主程序中根据标志位调用的,一旦有按键中断立马根据确定KeyValue退出低功耗模三执行按键程序。

#pragma vector=PORT2_VECTOR
__interrupt void PORT_2(void)
{

    INT_Flag = 2;
    KeyValue = P2IFG;//读取中断标志,确定按键值,KeyValue是总程序定义的全局变量
     P2IFG &= 0x0f;    //清楚中断标志                          
    LPM3_EXIT;
}

主程序部分程序
while(1){
        _BIS_SR(LPM3_bits+GIE);      
        switch(INT_Flag){

            case 2:     INT_KEY();                     
                       break;

}

一周热门 更多>