定时器中断服务在主机上以10微秒或更快的速度运行的例程

时间:2009-07-24 00:05:38

标签: c++ timer interrupt

我试图在Windows XP操作系统上运行的主机(512 MB RAM,Intel 2.5 GHz Pentium 4处理器等)上以10微秒或更快的速度运行以下伪代码:

int main(void)
{
    while(1){};
}

Interrupt service routine:
every 10 microseconds, printf("Hello World");

我知道有MFC定时器,但如果定时器需要触发的速度超过1 ms,它们就不起作用。什么是最简单的方法来实现我的伪代码的目标?提前谢谢。

2 个答案:

答案 0 :(得分:1)

我不确定你是否能从Windows XP中获得这种性能,至少从用户端不可靠。您可能必须将代码作为内核驱动程序运行,或者更好地使用像Xenomai这样的实时操作系统进行调查。

答案 1 :(得分:-1)

忽略这一点 - 在对不起的问题中,我错误地将micro视为毫米:

如你所说,你在Windows上,MultiMedia Timer是可行的方法。

或更新的TimerQueue TimerQueue

可能能够获得1ms的分辨率,具体取决于您的硬件。

祝你好运