1

Windows CE で 100 マイクロ秒未満の精度でスリープすることは可能ですか? ジッタが少ないほど良いです。理想的には、1 桁のマイクロ秒の応答時間が必要です。

私たちが本当に必要としているのは、ジッターが非常に低い 5 ミリ秒のタイマーです。そのため、サイクルは徐々にドリフトします。

これが不可能な場合は、その情報も非常に役立ちます。

4

4 に答える 4

2

この MSDN の記事には、WinCE で 500us のタイマー割り込みを設定するためのコードが含まれているため、完全に可能です。

お使いのバージョンの WinCE に縛られていない場合は、標準ハードウェア上で Windows と並行して実行される RTOS を提供していると主張するTenasysを調べることをお勧めします。

QNXについても良いことを聞いたことがありますが、その製品も使用したことがありません。ただし、Windowsと互換性があるとは思いません。

于 2009-06-23T23:43:27.380 に答える
1

不可能です。デスクトップでも不可能です。通常のオペレーティング システムは、この方法では機能しません。

4 ミリ秒ごとに正確に起動する必要がある場合、または運が悪い場合。あなたが本当に必要としているのが、毎秒正確に 250 回発射するものである場合、それはより実行可能かもしれません。後者が必要な場合は、アプローチを提案できます。

于 2009-06-23T23:22:00.717 に答える
1

スリープする必要があるのがバッテリ/スレッドの問題ではなく、正確なタイミングの問題である場合は、Windows CE デバイスの「パフォーマンス カウンタ」を使用できます。XScale および Qualcomm CPU では、これは内部チップ タイマーであり、サブ 1 ミリ秒の粒度があります。古い OMAP および Samsung プロセッサでは、performancecounter API は 1 ミリ秒のシステム ティックを通過しており、多くのジッタがあります。

ポンド

于 2009-07-26T17:45:45.703 に答える
0

ジッターを修正するには、高解像度タイマーにアクセスする必要があります。あなたが持っているCPUには1つあるかもしれません。そうでない場合、割り込みコントローラは可能性があります。

最も簡単な方法は、リアルタイムで Linux を使用し、そのライブラリに WINE を使用することです。定期的なスレッドが必要です。

NIST からのこのレポートを見てください。

于 2009-07-15T01:05:31.333 に答える