欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標題:
[分享]分享一下我用了十幾年的按鍵掃描方法
[打印本頁]
作者:
銘為科技
時間:
2013-7-22 11:43
標題:
[分享]分享一下我用了十幾年的按鍵掃描方法
看見大家發了那么多按鍵的處理方法,我也發一個。
剛參加工作的時候,對比學校里和同事的按鍵處理函數,發現總是不盡如人意,
有以下幾點:
1. 消抖復雜,效率低。很多人直接在電平判斷后使用delay()函數,進行消抖,
耽誤時間;有人在按鍵電平中斷中消抖,導致其他的中斷,比如串口、定時等
反應很慢,不適合做實時系統;
2. 特殊功能按鍵的處理麻煩。使用簡單電平判斷的按鍵掃描,在需要長按響應、
復合按鍵響應、復合按鍵長按響應的時候,需要增加很多的標志位,反復使用
if..else判斷,有時候把自個都搞亂了。
3. 不便于移植和修改。使用以上兩點編寫的函數,如果用在直接端口按鍵上的,
那么在行列掃描按鍵的時候,就很難適應。導致每個項目都要更改一次。
想了很久之后,我結合PC的鍵盤處理方法,編寫了自己的按鍵函數,經過幾次修改,
定了下來。這十幾年來,一直在用,方便移植,而且比較清晰。
——至少我自己這么覺得。
它有以下幾個特點:
1. 按鍵掃描和取值分開。
在中斷中(一般10ms),反復調用keyScan()進行按鍵掃描(包括消抖)。
消抖之后的按鍵值不返回,作為消息放到全局變量中;
在需要判斷的地方使用getKeyValue()獲取當前的鍵值,進行處理。
2. 每一個按鍵,都有單獨的標志位和計時變量。
消抖計時:
如果按鍵按下,每調用一次10ms中斷,gucKeyOkTimer增加;
gucKeyOkTimer超過消抖的閥值(我一般10次,即100ms),則確認有按鍵了。
任何一次掃描到按鍵沒有按下,gucKeyOkTimer清空;
標志位:
如果一直按著(通過按鍵電平判斷),會有gfOkPressing;
如果按下過一次,需要響應,會有gfOkNeedAck;
復合按鍵的響應:
因為每個按鍵,包括復合按鍵都有自己的標志位和計時變量,可以跟物理按鍵的
處理方法相同。只是消抖的條件,不是電平的判斷,而是物理按鍵的pressing標志。
3. 我沒有使用怪癖詭異的編程方法。有很多取巧的方法可使實現按鍵的掃描,甚至有
人寫了三行代碼就實現消抖。——我個人不喜歡這樣的程序風格。我喜歡思路清晰的編程方法,
易于維護和移植。當然代價就是多了一些ROM和RAM占用,但我覺得時間和代碼的質量更重要。
如果你跟我的思路相同,也遇見過這樣的困惑,可以考慮我的按鍵掃描方法。
我摘錄了與按鍵相關的部分,如果有疑問,歡迎通過郵件或QQ溝通。
key.rar
2013-7-22 11:43 上傳
點擊文件名下載附件
1.23 KB, 下載次數: 1696
按鍵處理
作者:
dyun1988
時間:
2014-5-17 21:44
感謝樓主分享!!!!!!!!!!!!!!!!
作者:
jcygh
時間:
2014-5-27 22:32
好好學習,天天進步
作者:
daobatu
時間:
2014-5-31 03:26
。進來學習下
作者:
ekun2006
時間:
2014-6-14 18:23
難得的精神
作者:
001art
時間:
2014-7-3 11:20
高手啊!!!!
作者:
286458071
時間:
2014-7-3 16:30
好東西!!!!
作者:
云不肯說
時間:
2014-7-7 13:19
看看高級的程序
作者:
li8o
時間:
2014-7-8 10:14
高手啊!!!!
作者:
sunnyjn
時間:
2014-7-12 07:18
謝謝樓主分享!!!
作者:
407374914
時間:
2014-7-12 17:51
謝謝樓主分享
作者:
liumin_txgt
時間:
2014-7-12 22:28
謝謝分享
作者:
radiance
時間:
2014-7-14 17:30
好東東。謝謝分享
作者:
袁潔棟
時間:
2014-7-21 22:21
高手啊
作者:
shuangxi
時間:
2014-7-24 13:49
好東東。謝謝分享
作者:
Getty
時間:
2014-7-24 15:47
謝謝樓主啦!!分享很好
作者:
visvi
時間:
2014-7-31 10:48
感覺很給力,謝謝分享
作者:
DDY_yu
時間:
2014-8-1 16:45
謝謝謝!!
作者:
zhwyf
時間:
2014-8-18 23:15
感謝樓主分享
作者:
huangjilin
時間:
2014-8-20 12:40
感謝樓主分享
作者:
wwic
時間:
2014-8-20 17:30
看看是什么啊!~
作者:
happy_coding
時間:
2014-8-21 10:05
謝謝分享
作者:
937166474
時間:
2014-9-1 22:01
新人回一帖,不知所云
作者:
導數題
時間:
2014-9-2 10:24
謝謝分享
作者:
boss654321
時間:
2014-9-2 19:57
這個東東絕對值得一看。
作者:
1004169134
時間:
2014-9-3 20:16
真不錯誒!我也一直想解決程序里的沖突,可沒耐心去細細思索,看了此文豁然開朗啊!太感謝樓主了
作者:
yc21
時間:
2014-9-7 09:37
好好學習,天天進步
作者:
yzmmdy
時間:
2014-9-10 20:42
謝謝樓主的資料,真是好
作者:
yongxiang6091
時間:
2014-9-10 20:46
謝謝樓主分享!!
作者:
yzmmdy
時間:
2014-9-11 08:25
好資料,值得學習,謝了
作者:
雪落有聲
時間:
2014-9-11 08:51
好東東哦,感謝樓主
作者:
nyzjs
時間:
2014-9-11 09:29
感謝樓主分享!!!!!!!!!!!!!!!!
作者:
dajin1234
時間:
2014-9-11 16:34
謝謝分享。。。。。。。。
作者:
周安松
時間:
2014-9-13 04:42
謝謝分享!!
作者:
heam
時間:
2014-9-15 10:53
謝謝分享
作者:
wmt333
時間:
2014-10-12 14:09
謝謝分享!!!!
作者:
xi.min
時間:
2014-10-13 00:40
感謝..............
作者:
T29
時間:
2014-10-16 00:48
感謝樓主 .... 學習了
作者:
T29
時間:
2014-10-16 00:52
狀態機識別
作者:
zsshd
時間:
2014-10-16 06:04
感謝樓主分享,學習了!
作者:
huahuasousou
時間:
2014-10-24 12:35
感謝分享!
作者:
2577070273
時間:
2015-2-13 20:19
謝謝分享,學習了
作者:
lilogo
時間:
2015-4-27 10:25
謝謝分享。。。。
作者:
逸銘電子
時間:
2015-4-27 23:07
我也來看看。
作者:
獨之雪
時間:
2015-4-27 23:30
貌似不錯的樣子。。。
作者:
AOdongq1n
時間:
2015-4-27 23:36
進來學習學習
作者:
lb688
時間:
2015-4-28 10:45
學習了。。。
作者:
SengChuary
時間:
2015-4-29 22:32
不錯,支持樓主!!
作者:
913059794
時間:
2015-5-7 15:08
好東西
作者:
kmtbm
時間:
2015-6-28 17:44
感謝樓主的無私奉獻,讓大家共同使用
作者:
kmtbm
時間:
2015-6-28 18:23
直到現在還不能下載,是不是分不夠
作者:
wthdyfg2004
時間:
2015-6-30 12:58
很好的程序
作者:
海闊天空2015
時間:
2015-7-2 18:08
資料分享才能有所得,謝謝樓主的資料
作者:
hurbo
時間:
2016-2-1 11:39
謝謝分享,學習高手的按鍵程序
作者:
hjmnyz
時間:
2016-3-13 21:19
感謝樓主分享
作者:
brightsm
時間:
2016-3-16 00:27
學習一下。
作者:
delie
時間:
2016-4-19 14:31
謝謝分享
作者:
xiancv1
時間:
2016-4-25 16:18
謝謝樓主分享
作者:
whengfu
時間:
2016-4-28 09:36
好多書本上沒有的,具有很大實用價值
作者:
hhdsdy
時間:
2016-4-28 09:52
感謝樓主的分享
作者:
zmhulu
時間:
2016-5-7 10:58
謝謝分享。學習下
作者:
841812960
時間:
2016-5-11 12:30
感謝樓主分享
作者:
lyseg01
時間:
2016-6-13 18:43
感謝樓主分享!!!
作者:
WFX777888
時間:
2016-6-14 05:10
謝謝分享資料
作者:
lidong128
時間:
2016-6-14 08:23
感謝樓主分享
作者:
dtdzlujian
時間:
2016-6-15 11:51
huangjilin 發表于 2014-8-20 12:40
感謝樓主分享
謝謝Lz分享,學習了!
作者:
未來的技術女
時間:
2016-6-28 23:25
已經收集不少按鍵掃描的程序了,等過幾天我也來發一發...
作者:
779613083
時間:
2016-6-29 13:44
感謝!!!!
作者:
daihouzhao
時間:
2016-7-21 09:59
謝謝分享!
作者:
小分子
時間:
2016-7-31 23:40
沒有看明白
作者:
jubaolun
時間:
2016-8-1 08:37
謝謝樓主分享.學習了.
作者:
wszyg621
時間:
2016-8-1 10:35
好東西,謝謝分享!
作者:
ghostry
時間:
2016-8-1 17:24
感謝分享,學習一下。
作者:
uaeng
時間:
2016-8-2 22:45
感謝樓主分享!!!!!!
作者:
liu712777
時間:
2016-8-13 19:10
haoaodsads
作者:
liu712777
時間:
2016-8-13 19:10
fgdfgf fgfgf
作者:
liu712777
時間:
2016-8-13 19:14
bddfggfgfgfgfg
作者:
謝幕芳華
時間:
2016-8-14 10:18
謝謝樓主的分享,讓我又學會另外一種按鍵掃描處理
作者:
謝幕芳華
時間:
2016-8-14 10:19
謝謝樓主的分享,又讓漲知識了
作者:
lion21cn
時間:
2016-8-15 14:43
謝謝分享
作者:
kkfy888
時間:
2016-8-16 01:57
謝謝分享!!!
作者:
7547163
時間:
2016-8-19 19:43
謝謝分享呀
作者:
qaz3
時間:
2016-8-23 09:40
幾個環節的活動和規范化的復活點發貨后
作者:
轉崗
時間:
2016-8-23 17:25
感謝樓主分享,
作者:
intersetings
時間:
2016-8-23 22:42
謝謝分享,好帖
作者:
xtgdsk
時間:
2016-10-29 14:44
感謝樓主 .... 學習了
作者:
westlife96
時間:
2016-10-29 23:03
曾經用過類似的方法。后來看到一篇關于時間片輪換法的結構文章描述之后,發現之前的那些問題都可以通過類似的方法解決。
作者:
123456kkj
時間:
2016-11-10 09:28
感謝樓主分享!!!!
作者:
周琪寶寶
時間:
2016-11-12 19:53
謝謝分享
作者:
yaohw2427
時間:
2016-11-13 23:48
卡在了數碼管顯示,,,啊,多么痛
作者:
心如刀割
時間:
2016-11-14 15:03
好經驗
作者:
孟菲0307
時間:
2016-11-14 15:56
謝謝分享
作者:
xht9951
時間:
2016-11-18 11:52
木有HB,下載不了
。看不到 啊要! 本人還是比較喜歡宋學松老師的按鍵消抖的算法。
作者:
lhshengshi
時間:
2016-12-1 15:34
看看高級的程序
作者:
jcygh
時間:
2016-12-3 15:07
很給力!
贊一個!
作者:
xilegan
時間:
2016-12-13 19:50
謝謝樓主的分享!
作者:
lhuijiang
時間:
2016-12-13 20:22
穩定第一。
作者:
qqjmk15263
時間:
2017-1-3 15:05
一直沒找到好的按鍵掃描方法,先看看樓主的
作者:
東方既白
時間:
2017-2-2 09:58
希望學習下
作者:
lyseg
時間:
2017-2-3 12:35
謝謝樓主分享!!
歡迎光臨 (http://www.raoushi.com/bbs/)
Powered by Discuz! X3.1