为节省cpu时间,键盘一般如何判断按键是否按下
1个回答
2015-12-13 · 知道合伙人互联网行家
关注
展开全部
1、要是只是不求十分精确的估计的话,你可以在按键按下后让程序执行一个死循环,循环中一直判断按键是否松开,未松开则给一些计数用的寄存器加1,松开则跳出循环,在循环的下一句统计这些寄存器的值,根据每条指令执行时间(汇编语言指令时间很严格的)来计算出在循环中执行了多长时间;
2、如果追求十分精确的话,建议你开启一个定时器,按键按下触发一个外部中断,该中断中启动定时器,定时器开始计时,每次计满时会发生定时器中断,在这个中断中判断按键是否已松开,若已松开则停止计时,若未松开则加一下定时乘数因子,直至松开,就可以用每次定时值乘以定时乘数因子,得到总的时间,建议定时值尽可能短,如1ms、500us等,精度很高!
2、如果追求十分精确的话,建议你开启一个定时器,按键按下触发一个外部中断,该中断中启动定时器,定时器开始计时,每次计满时会发生定时器中断,在这个中断中判断按键是否已松开,若已松开则停止计时,若未松开则加一下定时乘数因子,直至松开,就可以用每次定时值乘以定时乘数因子,得到总的时间,建议定时值尽可能短,如1ms、500us等,精度很高!
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询