欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標(biāo)題: STM8單片機(jī)按鍵 短按 雙擊 長(zhǎng)按源代碼 [打印本頁(yè)]

作者: 131415yy    時(shí)間: 2018-10-10 11:52
標(biāo)題: STM8單片機(jī)按鍵 短按 雙擊 長(zhǎng)按源代碼
STM8單片機(jī)上面實(shí)現(xiàn)代碼為:

//按鍵按下去會(huì)出現(xiàn)下降沿,設(shè)置按鍵IOGPIOB4所在的外部端口B下降沿觸發(fā)中斷
void exit_init(void)
{
   EXTI_DeInit();
   EXTI_SetExtIntSensitivity(EXTI_PORT_GPIOB,EXTI_SENSITIVITY_FALL_ONLY);
}

//按鍵按下中斷服務(wù)程序
INTERRUPT_HANDLER(EXTI_PORTB_IRQHandler, 4)
{
   if(GPIO_ReadInputPin(GPIOB,GPIO_PIN_4)==0)//是按鍵下降沿
    {
       key_fall_flag = 1;//生成按鍵按下標(biāo)志
}
}

//周期1ms的定時(shí)器中斷服務(wù)程序
INTERRUPT_HANDLER(TIM4_UPD_OVF_IRQHandler,23)
{
         if(key_fall_flag==1)//發(fā)生按鍵按下事件
    {
       if(GPIO_ReadInputPin(GPIOB,GPIO_PIN_4)==0)//按鍵持續(xù)按下
       {
           if(key_holdon_ms <= 2000)
           {
                key_holdon_ms++;
           }
           else //按鍵按下到2000ms就判斷長(zhǎng)按時(shí)間成立,生成長(zhǎng)按標(biāo)志
           {
                key_holdon_ms = 0;
                short_key_flag=0;//清短按鍵標(biāo)志
                key_long_down = 1//長(zhǎng)按鍵標(biāo)志置位
key_fall_flag = 0;//清按鍵按下標(biāo)志
           }
       }
       else //按鍵抬起
       {                        
           if(key_holdon_ms>50)//按下時(shí)間大于50ms,生成單擊標(biāo)志
           {
                key_holdon_ms=0;
                short_key_flag=1;
                key_long_down =0;
                key_fall_flag=0;

//距離上次單擊時(shí)間在100~500ms之間,則認(rèn)為發(fā)生連擊事件               
                                     if(keyupCnt>100&& keyupCnt<500)
                                     {
                                               doubleClick= TRUE;
                                               short_key_flag=0;   
                                     }

                                     keyUpFlag= TRUE;//單擊抬起按鍵后,生成按鍵抬起標(biāo)志
           }                        
           else  //按鍵持續(xù)時(shí)間小于50ms,忽略
           {
                key_holdon_ms=0;
                short_key_flag=0;
                long_key_flag=0;
                key_fall_flag=0;
           }
       }

   }  


if(keyUpFlag)//單擊抬起后,啟動(dòng)計(jì)數(shù),計(jì)數(shù)到500ms
                 keyupCnt++;
         if(keyupCnt>500)

                 keyupCnt= 0;
                   keyUpFlag= FALSE;
         }
}




作者: 蘿莉最棒了    時(shí)間: 2019-7-1 16:04
還是沒(méi)有應(yīng)用起來(lái)




歡迎光臨 (http://www.raoushi.com/bbs/) Powered by Discuz! X3.1