|
|||||||||||
| 技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng) 驅(qū)動編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機(jī) | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計 | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe |
關(guān)于端口上的按鍵 |
| 作者:xqg119 欄目:單片機(jī) |
用什么辦法,可以實現(xiàn)我按下按鍵(可能按下的時間很長)只起到一次按鍵的作用 |
| 2樓: | >>參與討論 |
| 作者: szzhengjin 于 2006/7/19 11:15:00 發(fā)布:
根據(jù)實際應(yīng)用自己想吧 按下鍵后,先處理其事件,然后再看鍵是否釋放,若沒別的事,可以一直等下去,若有別的事,那只能想個較中折的辦法了 |
|
| 3樓: | >>參與討論 |
| 作者: zljzlj 于 2006/7/19 11:15:00 發(fā)布:
層次的鍵處理機(jī)制 1.按鍵驅(qū)動:只產(chǎn)生鍵值,標(biāo)識某個按鍵按下或抬起, 2.按鍵執(zhí)行:根據(jù)驅(qū)動,產(chǎn)生不同時間鍵值,即短按,短抬,長按,長抬 3,應(yīng)用,OK |
|
| 4樓: | >>參與討論 |
| 作者: stering 于 2006/7/19 13:02:00 發(fā)布:
看看行不 最近設(shè)計的鍵盤不好使,折騰一陣,現(xiàn)在我做的鍵盤處理是用到定時器的。判斷鍵盤碼是判斷鍵盤抬起。呵呵。鍵盤按下的時候是不做處理的。鍵盤抬起才處理。 |
|
| 5樓: | >>參與討論 |
| 作者: yang_sir 于 2006/7/20 10:09:00 發(fā)布:
soft 一下是我的思路,你看看吧。程序區(qū)分重復(fù)按鍵的情況,以及你說的長按不管的情況。時間可以自己設(shè)定。 bit Get_key(WORD key_time_filter)//200 { static BYTE last_key=0; static WORD key_count = 0; BYTE key_buff = 0; key_buff = ScanKey(); if(key_buff == KEY_NULL) { key_code = KEY_NULL; key_count = 0; return FALSE; } key_code = key_buff; if(key_buff != last_key) { last_key = key_buff; key_count = 0; return FALSE; } else { //key_code = key_buff; if(( key_code == KEY_UP ) ||( key_code == KEY_DOWN )\ ||( key_code == KEY_RIGHT ) ||( key_code == KEY_LEFT )) //repeat check { key_count = ( key_count + 1 ) % 500; if(key_count == key_time_filter) return TRUE; } else { if( key_count < 0xfff0) key_count++; if(key_count == key_time_filter) return TRUE; } } return (FALSE); } |
|
|
|
| 免費注冊為維庫電子開發(fā)網(wǎng)會員,參與電子工程師社區(qū)討論,點此進(jìn)入 |
Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號 |