1、要是只是不求十分精确的估计你可以在按键按下后让程序执行一个死循环,循环中一直判断按键是否松开未松开则给一些计数用的寄存器加1,松开则跳出循环在循环的下一句统计这些寄存器的值,根据每条指令执行时间(汇编语言指令时间很严格的)来计算出在循环中执行了多长时间;
2、如果追求十汾精确建议你开启一个定时器,按键按下触发一个外部中断该中断中启动定时器,定时器开始计时每次计满时会发生定时器中断,茬这个中断中判断按键是否已松开若已松开则停止计时,若未松开则加一下定时乘数因子直至松开,就可以用每次定时值乘以定时乘數因子得到总的时间,建议定时值尽可能短如1ms、500us等,精度很高
你对这个回答的评价是