2つのセンサー(5Hzと200Hz)を手動でポーリングし、両方のファイルで利用可能なデータがあるかどうかを調べる組み込みシステム(LinuxとC)を開発しました。ポーリングと手動でポーリングを選択する
ここでは、PollまたはSelect POSIX関数を使用してCPU使用率を節約したいと考えています。私はそれについて、またソケットで起こりうるレイテンシについて読んでいます。私は、ポーリングと機能の選択が遅いか、私が読んだだけのこの「待ち時間」が重要でないかどうかを知りたいと思います。
センサは5msごとにデータを送信し、アルゴリズムは1〜2ms(カルマンフィルタ)を取ることができます。したがって、システムは次のセンササンプルまで2〜3ミリ秒か、またはアプリケーションには遅すぎるでしょう。
「遅い」と定義してください – holmium
私はそれを読んでいます。ソケットを使って5秒の遅延を得ることは可能です。私の場合、センサーを使って、私は待ち時間を見ていません。センサは、それぞれ5ミリスのデータを送信し、アルゴリズムは1~2ミリ秒(カルマンフィルタ)を取ることができる。したがって、システムは次のセンササンプルまで2〜3ミリスを有する。 –
読み込んだデバイス(シリアルポート?)は、select()システムコールをサポートする必要があります。そしてあなたが心配している "レイテンシ"は、1つのシステムコール(1つまたは2つのread()につき)だけです。 – joop