999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于STM32平臺的C語言的按鍵處理的研究與應用

2019-09-10 07:22:44李文軍
科學導報·科學工程與電力 2019年42期

李文軍

【摘?要】把有限狀態機應用于按鍵的識別過程中,能夠識別按鍵抬起、按鍵短按、按鍵長按等三個狀態,并在此三狀態的狀態機上改進了按鍵的消除抖動的觸發時機,綜合考慮了在某些場景下,按鍵有效操作的準確識別和按鍵無效操作的干擾甄別的工作,提高了按鍵識別的準確性和抗干擾能力,并在單鍵識別的基礎上,把有限狀態機應用到雙鍵(兩個按鍵同時操作)觸發邏輯的識別過程中,同時完全兼容單個按鍵的任何操作(單個按鍵短按、單個按鍵短按抬起、單個按鍵長按、單個按鍵長按抬起等),同時還不會引起單鍵的誤操作,使之互不干擾,極大地擴展了多個按鍵間邏輯組合的可能性,使之能用最少的按鍵實現最多的邏輯功能。

【關鍵詞】有限狀態機;按鍵;抗干擾;雙鍵識別

1 引言

目前公司的很多型號的顯示器中多有按鍵的采集與使用,硬件平臺有不少是基于STM32平臺的,代碼是用標準C語言編寫,每個產品的按鍵需要實現的功能的難易也基本相同,大多為簡單的單鍵短按或者單鍵長按功能,所有其按鍵處理代碼有很大的通用性與相似性。按鍵處理代碼沿用的較多。但是在某型指示器的研發交付使用過程中,用戶的需求仍在大量頻繁的產生,其中就有必須要用到組合按鍵的邏輯功能,這就對按鍵的及時準確的采集與處理提出了相當高的要求,不巧的是,我們偶然發現此產品在使用過程中,其每一個按鍵在經過若干次按壓后,就會產生一次按鍵失效,判斷是軟件缺陷導致的問題,這就要求我們必須重新審視、優化我們一直以來的通用性的按鍵處理代碼,不僅要保證按鍵每一次采集的準確性和有效性,同時也要提高按鍵的抗干擾能力,最終達到解決組合按鍵功能擴展的目的。

2 單個按鍵的狀態遷移設計

對于單個按鍵的狀態變化,詳見圖1 單個按鍵的狀態遷移圖。

我們約定,如果按鍵原先為抬起動作,則記它從按下到有效按下的時間為t0時間,簡稱按鍵按下的消除抖動時間;

如果按鍵原先為按下動作,則記它從抬起到有效抬起的時間為t1時間,簡稱按鍵抬起的消除抖動時間;

1,一個按鍵的最初始動作記為按鍵抬起(標記為狀態0);

2,狀態0在按鍵按下持續時間小于t0時間后,仍為狀態0;

3,狀態0在按鍵按下持續時間不小于t0時間后,狀態遷移到按鍵按下(狀態1);

4,狀態1在按鍵抬起持續時間小于t1時間后,仍為狀態1;

5,按鍵按下(狀態1)在按鍵按下持續一段時間(為程序定義的按鍵長按的最短時間,一般取值在0.5秒~1.0秒之間)后,狀態遷移到按鍵長按(狀態2);

6,狀態1在按鍵抬起持續時間不小于t1時間后,設置短按抬起事件標志;

7,狀態2在按鍵抬起持續時間不小于t1時間后,設置長按抬起事件標志;

8,在狀態2下按鍵仍持續按下,如達到50×10毫秒時,設置長按按下事件標志a,如達到100×10毫秒時,設置長按按下事件標志b,如達到150×10毫秒時,設置長按按下事件標志c,依次類推,這樣就極大地、靈活地擴展了按鍵長按的事件個數,非常便于移植和修改;

9,在狀態2下按鍵仍持續按下,超過了設定的按鍵按下的最長時間后,認為按鍵卡死,狀態遷移到按鍵卡死(狀態3);

10,在設置抬起事件標志(短按抬起事件標志或者長按抬起事件標志)之后,按鍵抬起持續時間在小于主程序運行周期(一般為40毫秒)的兩倍時間后,即在小于80毫秒時間內,必須清除抬起事件標志,如若在應用層代碼中沒有人為調用后清除抬起事件標志,則按鍵處理程序會在規定時間內強制清除抬起事件標志,這就解決了按鍵抬起標志的干擾問題(一般由按鍵無效操作的引起)。

3 單鍵處理邏輯、雙鍵處理邏輯及狀態遷移設計

對于單鍵處理邏輯、雙鍵處理邏輯的綜合考慮以及兩個按鍵狀態的(簡稱雙鍵狀態)變化,詳見圖2單鍵、雙鍵處理以及雙鍵狀態遷移圖。

關于圖2中各個狀態的解釋說明見下表1 雙鍵狀態名稱說明。

關于圖2中雙鍵狀態間的遷移條件的說明見表2雙鍵狀態間的遷移條件說明。

結束語

這樣我們通過合理設計的單鍵狀態機和雙鍵狀態機,可以保證按鍵每一次采集的準確性和有效性,同時也要提高按鍵的抗干擾能力,最終達到解決組合按鍵功能擴展的目的,極大地擴展了多個按鍵間邏輯組合的可能性,使之能用最少的按鍵實現最多的邏輯功能,這在目前公司的產品中已得到非常好的運用,使用效果良好。

參考文獻:

[1] 何劍宇,劉兢兢.有限狀態機建模在嵌入式按鍵設計中的應用[J].沈陽師范大學學報:自然科學版,2012,30(2):168-171.

[2] 唐飛,查長理.基于有限狀態機的STM32系統按鍵識別方法[J].長春工業大學學報:自然科學版,2013,34(2):160-164.

(作者單位:太原航空儀表有限公司 顯示技術研究所)

主站蜘蛛池模板: 欧美色图久久| 69视频国产| 亚洲欧美日韩综合二区三区| 伊人久久精品无码麻豆精品| 欧美一级99在线观看国产| 国产在线精品99一区不卡| 成人年鲁鲁在线观看视频| 久久久久免费精品国产| 国产成人精品一区二区不卡| 中文字幕在线日韩91| 国产91熟女高潮一区二区| 国产一国产一有一级毛片视频| 国产成人无码Av在线播放无广告| 黄色网页在线观看| 亚洲欧美综合在线观看| 亚洲三级视频在线观看| 亚洲成人www| 亚洲一级色| 亚洲国产欧洲精品路线久久| 国产福利不卡视频| 国产情精品嫩草影院88av| 日韩久久精品无码aV| 黑人巨大精品欧美一区二区区| 一级毛片在线播放免费| 国产99精品视频| 91精品综合| 在线观看国产网址你懂的| 又黄又湿又爽的视频| 无码福利日韩神码福利片| 国产女人在线观看| 欧美在线观看不卡| 国产精品美女网站| 四虎永久免费地址在线网站| 国产91成人| 亚洲三级影院| 女人天堂av免费| 欧美国产精品拍自| 日本一区二区三区精品国产| 日本精品一在线观看视频| 国产精品对白刺激| AV片亚洲国产男人的天堂| 国产视频你懂得| 国产高清在线观看91精品| 国产精品福利一区二区久久| 麻豆精品国产自产在线| 999在线免费视频| 九九久久精品免费观看| 91极品美女高潮叫床在线观看| 97视频免费在线观看| 中文一区二区视频| 一本久道久综合久久鬼色| 欧美成人综合视频| 欧美一区二区人人喊爽| 日韩一级毛一欧美一国产| 欧美亚洲日韩不卡在线在线观看| 国产欧美日韩视频一区二区三区| 欧美日韩第三页| 高清码无在线看| 国产亚洲美日韩AV中文字幕无码成人 | 国产精品露脸视频| 精品视频91| 国产幂在线无码精品| 东京热av无码电影一区二区| 日本国产精品| 亚洲系列中文字幕一区二区| 精品少妇人妻一区二区| 香蕉综合在线视频91| a级毛片免费看| V一区无码内射国产| 男女性色大片免费网站| 日本高清有码人妻| 在线观看国产精品日本不卡网| 欧美亚洲中文精品三区| 国产成人亚洲精品无码电影| 久久精品亚洲中文字幕乱码| 亚洲国产清纯| 亚洲成人精品在线| 性色一区| 久久久久国产一级毛片高清板| h视频在线播放| 在线观看精品自拍视频| 一区二区理伦视频|