>Windows CEはリアルタイムOSといわれますが、
言われてます? 出典はありますか?
通常版の Windows OS よりはリアルタイム性は高いものの、明確に「リアルタイム OS である」とはされていなかったような…
また、そのリアルタイム性もカーネル/ドライバレベルの話で、GUI 層も含めたらリアルタイム性なんかおよそ期待できないように思います。
Windows Embedded CE 6.0であれば1msec毎に割り込むことのできるタイマーハードウエアが使用されていることと思います。通常、どれかのスレッドが実行中にも、より優先度の高いスレッドが実行可能状態になって、しかもそのあとに(1msecタイマー割り込みをきっかけに)スレッドのリスケジューリングが発生すれば、その優先度の高いスレッドが実行開始されます。この時点で、スレッドが実行開始するタイミングには最大1msecのブレがあることがわかります。イベントの開始タイミングの精度にはこだわらず、イベント間隔が500msecであればよいのであれば、1msec以下(たとえば100マイクロsec)に近い間隔精度でイベントを連続して発生させることができるかもしれません。以上の議論は、システム組み込みのタイマー割り込みで何ができるか、という話ですが、これ以上を求めるのであれば外部のハードウエア信号割り込みを用意することになると思います。割り込みパルス入力から割り込み処理が開始されるまでどれくらい遅れが発生するかはILTIMINGというテストプログラムで計ることができますが100マイクロsec以下、良くて10マイクロsecあたりで多少変動するのではないかと思います。そういう話ではなくて、たとえば希望する割り込み精度より20msecも悪いとかいう話であれば、何かプログラムの作り方を間違えています。リアルタイムスレッドはCeSetThreadPriority()でスレッド優先度を変更する必要がありますのでお忘れなく。