Linux の C でシリアル デバイスからバイナリ データを読み込もうとしています。問題は、ドライバの内部バッファに char が存在することがありますが、(select(2) を使用して) ポーリングすると、デバイスを読み取る準備ができていないというメッセージが返されることです。
私はtermiosの男と関連するすべての人を読んで再読し、インターネットで検索しました。すべてのフラグ (つまり、VTIME、VMIN) を正しく設定し、ICANON の設定を解除したと思います。「tcmakeraw」という機能も試してみましたが、問題は解決しませんでした。
私が何をすべきかについて何か考えはありますか?
よろしくお願いいたします。