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

基于STM32平臺的C語言的按鍵處理的研究與應(yīng)用

2019-09-10 07:22:44李文軍

李文軍

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

【關(guān)鍵詞】有限狀態(tài)機;按鍵;抗干擾;雙鍵識別

1 引言

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

2 單個按鍵的狀態(tài)遷移設(shè)計

對于單個按鍵的狀態(tài)變化,詳見圖1 單個按鍵的狀態(tài)遷移圖。

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

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

1,一個按鍵的最初始動作記為按鍵抬起(標(biāo)記為狀態(tài)0);

2,狀態(tài)0在按鍵按下持續(xù)時間小于t0時間后,仍為狀態(tài)0;

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

4,狀態(tài)1在按鍵抬起持續(xù)時間小于t1時間后,仍為狀態(tài)1;

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

6,狀態(tài)1在按鍵抬起持續(xù)時間不小于t1時間后,設(shè)置短按抬起事件標(biāo)志;

7,狀態(tài)2在按鍵抬起持續(xù)時間不小于t1時間后,設(shè)置長按抬起事件標(biāo)志;

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

9,在狀態(tài)2下按鍵仍持續(xù)按下,超過了設(shè)定的按鍵按下的最長時間后,認(rèn)為按鍵卡死,狀態(tài)遷移到按鍵卡死(狀態(tài)3);

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

3 單鍵處理邏輯、雙鍵處理邏輯及狀態(tài)遷移設(shè)計

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

關(guān)于圖2中各個狀態(tài)的解釋說明見下表1 雙鍵狀態(tài)名稱說明。

關(guān)于圖2中雙鍵狀態(tài)間的遷移條件的說明見表2雙鍵狀態(tài)間的遷移條件說明。

結(jié)束語

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

參考文獻:

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

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

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

主站蜘蛛池模板: 日韩国产精品无码一区二区三区| 香蕉久人久人青草青草| 91丝袜美腿高跟国产极品老师| 国产真实乱子伦视频播放| 国产XXXX做受性欧美88| 久久精品国产精品国产一区| 国产99在线观看| 色色中文字幕| 亚洲久悠悠色悠在线播放| 亚洲AⅤ综合在线欧美一区| 又粗又大又爽又紧免费视频| 国产女人18毛片水真多1| 国产欧美在线观看一区| 亚洲欧美日韩成人在线| 国产精品偷伦视频免费观看国产| 久精品色妇丰满人妻| 精品91视频| 亚洲天堂精品视频| 岛国精品一区免费视频在线观看 | 日韩国产无码一区| 国产原创演绎剧情有字幕的| 99久久性生片| 午夜福利视频一区| 国产黑丝一区| 国产成人毛片| 国产在线拍偷自揄观看视频网站| 日韩欧美国产三级| 欧美一级专区免费大片| 亚洲欧美另类久久久精品播放的| 在线观看国产黄色| 91亚瑟视频| 欧美激情首页| 国产欧美日韩va另类在线播放| 九九热在线视频| 香蕉99国内自产自拍视频| a毛片在线播放| 色噜噜狠狠色综合网图区| 午夜a视频| 精品久久国产综合精麻豆| 最新国产成人剧情在线播放| 久草视频精品| 色老头综合网| 亚洲无线国产观看| 日本一区二区三区精品AⅤ| 亚洲一区网站| 国产福利2021最新在线观看| 又粗又大又爽又紧免费视频| 97se亚洲| 91久久精品日日躁夜夜躁欧美| 国产精品妖精视频| 97在线观看视频免费| 国产精品嫩草影院视频| 无码中字出轨中文人妻中文中| A级毛片高清免费视频就| 久久国产高潮流白浆免费观看| 日本伊人色综合网| 亚洲成人播放| 国产乱人免费视频| 午夜一区二区三区| 亚洲精品天堂自在久久77| 在线免费看黄的网站| 亚洲欧美一区二区三区图片| 香蕉国产精品视频| 免费观看欧美性一级| 无码精品国产VA在线观看DVD| 亚洲高清免费在线观看| 波多野结衣二区| 亚洲AV无码不卡无码| 动漫精品中文字幕无码| 亚洲精品无码久久久久苍井空| 色婷婷亚洲综合五月| 亚洲水蜜桃久久综合网站| 欧美色99| 91视频精品| 国产www网站| 992Tv视频国产精品| 亚洲色欲色欲www在线观看| 欧美性色综合网| 国产在线观看99| 看看一级毛片| 日本中文字幕久久网站| 第一区免费在线观看|