私は基本的にTIMERであるタスクを持っています。だから、それは眠りにつき、定期的に起きるはずです。したがって、タイマーのタスクは10msの間スリープします。しかし起きているのは、目を覚ますことで一貫性がなく、時間通りに目を覚ますことに頼ることができないということです。Linux RTOS sleep() - タイマータスクのためのwakeup()
実際、私の走りでは、睡眠時間に大きな違いがあります。ときには、それは目を覚ますのに1〜2ミリ秒で変わることがあり、まったく戻ってくることはほとんどありません。これは、カーネルスケジューラがすべてのスリープ中および待機中のタスクをキューに入れ、誰が目を覚ますかを調べるときに、ラウンドロビンだと思うからです。したがって、タスクがスケジューラーが再びポーリングするときにタスクが期限切れになることがありました。時々、割り込みがあるとき、ISRは制御を取得し、タイマが起きるのを遅らせる。
この種の問題を処理する最適なソリューションは何ですか?
(その他の詳細:タスクは、ワイヤレスネットワークのためのMACタイマーであり、RTOSは、U-velOSityマイクロカーネルである)
ここでRTOSはこの問題になりますか?最後にあなたはu-velosityについて言及していますが、それはまったく言及されていない質問と全く無関係です。 – Clifford