亚洲春色中文字幕久久久-三上亚,一吻二脱三床四吻胸,国产真实伦对白视频全集,在线毛片观看,精品成品入口黄网,国产毛aⅴ片久久久,亚洲AV色香蕉一区二区三区老师,萧皇后A级艳片,色情日本视频更新,99久久亚洲精品日本无码

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2421|回復: 0
收起左側

下面單片機程序在裸機上正常,在OS任務中只能識別短按,無法得到長按值,不知為何

[復制鏈接]
ID:33544 發表于 2020-3-6 11:18 | 顯示全部樓層 |閱讀模式
1黑幣
下面程序在裸機上正常,在OS任務中只能識別短按,無法得到長按值,不知為何,請高手指點

#define const_key_time_short1  20    //短按的按鍵去抖動延時的時間

#define const_key_time_long1   400     //長按的按鍵去抖動延時的時間

#define const_key_time_short2  20    //短按的按鍵去抖動延時的時間

#define const_key_time_long2   400     //長按的按鍵去抖動延時的時間


void task4_task(void * pvParameters)      //OS任務

{

          static int uiKeyTimeCnt1=0;

        static u8  ucKeyLock1=0;

        static u8  ucShortTouchFlag1=0;



  while(1)        

        {

        

        



  if(KEY2==1)//IO是高電平,說明兩個按鍵沒有全部被按下,這時要及時清零一些標志位

  {

      ucKeyLock1=0; //按鍵自鎖標志清零

      uiKeyTimeCnt1=0;//按鍵去抖動延時計數器清零,此行非常巧妙,是我實戰中摸索出來的。   

            if(ucShortTouchFlag1==1)  //短按觸發標志

          {

             ucShortTouchFlag1=0;

                 K2Sec_1=1;    //觸發一號鍵的短按

          }

  }

  else if(ucKeyLock1==0)//有按鍵按下,且是第一次被按下

  {

     uiKeyTimeCnt1++; //累加定時中斷次數

     if(uiKeyTimeCnt1>const_key_time_short1)

     {

            ucShortTouchFlag1=1;   //激活按鍵短按的有效標志  

     }



     if(uiKeyTimeCnt1>const_key_time_long1)

     {

            ucShortTouchFlag1=0;  //清除按鍵短按的有效標志



        uiKeyTimeCnt1=0;

        ucKeyLock1=1;  //自鎖按鍵置位,避免一直觸發



        K2Sec_1=2;    //觸發1號鍵的長按



     }



  }





printf("task-2:%d\r\n",K2Sec_1);



           vTaskDelay(100 / portTICK_RATE_MS);  //增加延時節拍函數

        }

}


回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表