我知道我当然不能使用 msleep 或 usleep 或任何此类函数在内核 ISR 例程中引入延迟。
我有一个内核驱动程序,其中定义了某些 ISR。在其中一个 ISR 块中,我必须插入一定的毫秒级延迟。让我们说:
{
//A
//here I need sleep
//B
}
我可以使用类似的东西:
{
//A
for(i=0;i<1000;i++);
//B
}
假设我的处理器以 1Gbps 的速度执行,上面的 for 循环会给我 1000 微秒的延迟,即 1 毫秒吗?