カーネル ISR ルーチンに遅延を導入するために msleep や usleep などの関数を使用できないことは承知しています。
内部に特定の ISR が定義されているカーネル ドライバーがあります。ISR ブロックの 1 つで、ミリ秒単位の特定の遅延を挿入する必要があります。まあ言ってみれば:
{
//A
//here I need sleep
//B
}
次のようなものを使用できますか:
{
//A
for(i=0;i<1000;i++);
//B
}
私のプロセッサが 1Gbps で実行されているとしましょう。上記の for ループは 1000 マイクロ秒、つまり 1 ミリ秒の遅延を与えますか?