最大 255 のノードが USB 接続の仮想 COM ポートを介して Windows システムにトレース メッセージを送信するハードウェア テスト セットアップがあります。実際には、開いているすべてのシリアル ポートでポーリング ループを実行し、タイムアウトなしで readline を実行する小さな Python スクリプトを使用しています。読み取った行は、COM ポート ソースとタイムスタンプを追加してコンソールに出力されます。これは、ほぼリアルタイムで非常にうまく機能します。しかし、ご想像のとおり、CPU 使用率はかなり高くなっています。そこで、ポーリングせずにすべての COM ポートを並行してリアルタイムで監視する方法を探していました。
PySerial doc ( を探してくださいnonblocking()
)には、POSIX のような select インターフェイスがあると書かれていますが、UNIX OS でのみ使用できます。
何か案は?