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

標題: TM1650按鍵的長按短按識別 [打印本頁]

作者: 菜鳥123321    時間: 2022-12-17 18:57
標題: TM1650按鍵的長按短按識別
小弟初學者,基本功不行,請教各位大神不吝賜教,TM1650掃描按鍵,單片機怎么來識別短按,長按和雙擊來實現不同的功能




作者: lkc8210    時間: 2022-12-18 14:16


1000


20()1000

作者: wkman    時間: 2022-12-19 08:23
長按鍵很簡單啊。
void Key_Act(void)
{
    uchar key_num=0;
   
    if(ms200_ok_flag==1)
    {
        ms200_ok_flag=0;
        
        key_num=KeyScan();
        if(last_key != key_num)//鍵值有變
        {
            Key_Fun(last_key);//短按->執行

            last_key = key_num;//鍵值更新
        }
        else//last_key == key_num//鍵值無變化
        {
            if(key_num != 0)//有效長按鍵
            {
                switch(key_num)
                {
                    case 1 ://啟停:長按3s清零
                            break;
                    case 2 ://++
                            break;
                    case 3 ://--
                }
            }
        }
    }
}
作者: 菜鳥123321    時間: 2022-12-22 12:41
wkman 發表于 2022-12-19 08:23
長按鍵很簡單啊。
void Key_Act(void)
{

我試試看,迷糊了幾天,搞死了
作者: 菜鳥123321    時間: 2022-12-22 13:59
lkc8210 發表于 2022-12-18 14:16
1000

你的意思是不是用定時器計時然后再判斷
作者: lkc8210    時間: 2022-12-23 11:31
菜鳥123321 發表于 2022-12-22 13:59
你的意思是不是用定時器計時然后再判斷

審批AI把我的代碼刪了

定時器產生1ms中斷
每1ms讀取TM1650的鍵值一次以下是示范代碼



作者: hi等你    時間: 2023-1-6 09:18
不要用中斷,中斷留給更重要的顯示部件用,讀一次1650返回的鍵值確認按下的話用軟件延時0.5秒再讀鍵如果再按下再回頭讀鍵,反復七八次就達到幾秒長按的要求。如果一個讀鍵都用到中斷的話會影響掃描方式的顯示狀態。
作者: lkc8210    時間: 2023-1-6 10:07
hi等你 發表于 2023-1-6 09:18
不要用中斷,中斷留給更重要的顯示部件用,讀一次1650返回的鍵值確認按下的話用軟件延時0.5秒再讀鍵如果再 ...

1650內置掃描顯示驅動
不需要用中斷來更新
作者: hi等你    時間: 2023-1-9 15:27
lkc8210 發表于 2023-1-6 10:07
1650內置掃描顯示驅動
不需要用中斷來更新

對對對,我居然忘記1650是個顯示驅動,發送一次顯示數據就能亮,我用長按短按并沒有用到中斷




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