2012-11-28 97 views
1

我想提出一个方案,我有一个无限循环。我用kbhit()来检测一个键是否被按下。我也在循环中使用延迟。所以,问题是,如果我按下键我必须等待延迟功能给执行的kbhit()函数的行为的时候.....如何使用的kbhit()的延迟,而无需等待

while(1) 
{ 
delay(1000); 
if(kbhit()) 
{ 
// 
// 
// 
// 
} 
} 

//现在我必须等待1000毫秒执行的kbhit()的代码如何删除这个问题..

在此先感谢....

+0

谷歌的概念“事件驱动的编程”。 – 2012-11-28 20:03:47

+0

kbhit()是一个“人类时间”功能。当你延迟时(10)人类无法检测到,他们会注意到延迟(1000)。 –

回答

0

请提高你问的方式! 无论如何,我会尽力帮助你: 看来你想使用interrupts.

但在大多数情况下,它实际上是不够的,以一定的速率检查键盘输入。例如。以60FPS运行的游戏每秒不会超过60次检查。 你可以解释一下你需要这种键操作的方式。