久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
123
返回列表 發(fā)新帖
打印 上一主題 下一主題
收起左側(cè)

分享一下十幾年我一直使用的按鍵處理方法

  [復(fù)制鏈接]
81#
ID:22225 發(fā)表于 2015-8-28 23:54 | 只看該作者
謝啦              
回復(fù)

使用道具 舉報

82#
ID:86928 發(fā)表于 2015-8-29 01:27 | 只看該作者
好東西  謝謝樓主的無私奉獻(xiàn)!
回復(fù)

使用道具 舉報

83#
ID:77282 發(fā)表于 2015-8-29 16:01 | 只看該作者
看過了,思路不錯 頂一下
回復(fù)

使用道具 舉報

84#
ID:66287 發(fā)表于 2015-8-31 08:17 | 只看該作者
方法還是很好的
回復(fù)

使用道具 舉報

85#
ID:87781 發(fā)表于 2015-12-5 17:56 | 只看該作者
只是文字上簡單介紹了下,沒有代碼的
回復(fù)

使用道具 舉報

86#
ID:99905 發(fā)表于 2015-12-25 01:15 | 只看該作者
好!實踐出真知!
回復(fù)

使用道具 舉報

87#
ID:96326 發(fā)表于 2015-12-25 08:52 | 只看該作者

有個實例最好了,更有利于初學(xué)者。
回復(fù)

使用道具 舉報

88#
ID:64089 發(fā)表于 2015-12-25 11:35 | 只看該作者
思維是非常好的,只是內(nèi)容略顯空洞,只是簡單描述一下沒有實例分析,基本上沒有實用價值。
回復(fù)

使用道具 舉報

89#
ID:100571 發(fā)表于 2015-12-26 10:48 | 只看該作者
謝謝樓主。
回復(fù)

使用道具 舉報

90#
ID:99525 發(fā)表于 2015-12-27 14:53 | 只看該作者
學(xué)習(xí)借鑒一下
回復(fù)

使用道具 舉報

91#
ID:148163 發(fā)表于 2016-11-15 23:03 | 只看該作者
看看下,謝謝樓主分享                                                                                 
回復(fù)

使用道具 舉報

92#
ID:98451 發(fā)表于 2016-11-15 23:35 | 只看該作者
學(xué)習(xí)一下,謝謝樓主
回復(fù)

使用道具 舉報

93#
ID:148310 發(fā)表于 2016-11-16 18:00 | 只看該作者
剛剛注冊,下載不了,不知道和宋學(xué)松老師的有什么區(qū)別
回復(fù)

使用道具 舉報

94#
ID:253953 發(fā)表于 2018-11-27 20:26 | 只看該作者
東西挺好的,
回復(fù)

使用道具 舉報

95#
ID:381145 發(fā)表于 2024-7-14 16:50 | 只看該作者
下載,打開EXEL文件錯誤
回復(fù)

使用道具 舉報

96#
ID:1064915 發(fā)表于 2024-7-15 14:36 | 只看該作者
nsj21n 發(fā)表于 2015-12-25 11:35
思維是非常好的,只是內(nèi)容略顯空洞,只是簡單描述一下沒有實例分析,基本上沒有實用價值。

分享一下十幾年我一直使用的按鍵處理方法
看見大家發(fā)了那么多按鍵的處理方法,我也發(fā)一個。
剛參加工作的時候,對比學(xué)校里和同事的按鍵處理函數(shù),發(fā)現(xiàn)總是不盡如人意,有以下幾點:
1. 消抖復(fù)雜,效率低。很多人直接在電平判斷后使用delay()函數(shù),進(jìn)行消抖,耽誤時間;有人在按鍵電平中斷中消抖,導(dǎo)致其他的中斷,比如串口、定時等反應(yīng)很慢,不適合做實時系統(tǒng);
2. 特殊功能按鍵的處理麻煩。使用簡單電平判斷的按鍵掃描,在需要長按響應(yīng)、復(fù)合按鍵響應(yīng)、復(fù)合按鍵長按響應(yīng)的時候,需要增加很多的標(biāo)志位,反復(fù)使用if..else判斷,有時候把自個都搞亂了。
3. 不便于移植和修改。使用以上兩點編寫的函數(shù),如果用在直接端口按鍵上的,那么在行列掃描按鍵的時候,就很難適應(yīng)。導(dǎo)致每個項目都要更改一次。

想了很久之后,我結(jié)合PC的鍵盤處理方法,編寫了自己的按鍵函數(shù),經(jīng)過幾次修改,定了下來。這十幾年來,一直在用,方便移植,而且比較清晰。
——至少我自己這么覺得。

它有以下幾個特點:
1. 按鍵掃描和取值分開。
    在中斷中(一般10ms),反復(fù)調(diào)用keyScan()進(jìn)行按鍵掃描(包括消抖)。
    消抖之后的按鍵值不返回,作為消息放到全局變量中;
    在需要判斷的地方使用getKeyValue()獲取當(dāng)前的鍵值,進(jìn)行處理。

2. 每一個按鍵,都有單獨的標(biāo)志位和計時變量。
    消抖計時:
    如果按鍵按下,每調(diào)用一次10ms中斷,gucKeyOkTimer增加;
    gucKeyOkTimer超過消抖的閥值(我一般10次,即100ms),則確認(rèn)有按鍵了。
    任何一次掃描到按鍵沒有按下,gucKeyOkTimer清空;

    標(biāo)志位:
    如果一直按著(通過按鍵電平判斷),會有g(shù)fOkPressing;
    如果按下過一次,需要響應(yīng),會有g(shù)fOkNeedAck;

復(fù)合按鍵的響應(yīng):
因為每個按鍵,包括復(fù)合按鍵都有自己的標(biāo)志位和計時變量,可以跟物理按鍵的處理方法相同。只是消抖的條件,不是電平的判斷,而是物理按鍵的pressing標(biāo)志。
3. 我沒有使用怪癖詭異的編程方法。有很多取巧的方法可使實現(xiàn)按鍵的掃描,甚至有人寫了三行代碼就實現(xiàn)消抖。——我個人不喜歡這樣的程序風(fēng)格。我喜歡思路清晰的編程方法,易于維護(hù)和移植。當(dāng)然代價就是多了一些ROM和RAM占用,但我覺得時間和代碼的質(zhì)量更重要。
如果你跟我的思路相同,也遇見過這樣的困惑,可以考慮我的按鍵掃描方法

評分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 回帖助人的獎勵!

查看全部評分

回復(fù)

使用道具 舉報

97#
ID:41347 發(fā)表于 2024-7-15 16:11 | 只看該作者
想知道運用的例程
回復(fù)

使用道具 舉報

98#
ID:1129414 發(fā)表于 2024-7-22 15:16 | 只看該作者
牛皮,十幾年的經(jīng)驗
回復(fù)

使用道具 舉報

99#
ID:21455 發(fā)表于 2024-7-30 10:57 | 只看該作者
沒有源碼?
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 精品99视频 | 国产精品第二页 | 亚洲欧美另类在线观看 | 九九热在线精品 | 在线视频一区二区三区 | 中文字幕精品一区久久久久 | 青青五月天 | 国产三级午夜理伦三级 | 中文在线观看视频 | 日本黄色免费视频 | 成人三级晚上看 | 成人小视频在线观看 | 天天爽天天操 | 欧美激情综合 | 青娱乐av | 亚色av| www.日本高清 | 中文字幕在线资源 | 久热久 | 亚洲最大av网站 | 国产一级大片 | 亚洲欧美一区二区三区四区 | 日日操夜夜干 | 成年人免费看视频 | 成人综合网站 | 天堂中文资源在线 | 国产成人在线免费视频 | 韩日一级片 | 国产视频一二区 | 亚洲黄视频| 国产乱人伦 | 精品一区二区免费视频 | 亚洲精品一区二区三区在线观看 | 黄色一区二区三区 | 国产精品美女在线 | 在线观看黄色av | 欧美成人一级片 | 成人在线精品 | 欧美成人精品一区二区三区 | 国产成人在线视频 | 国产精品视频久久 |