Linuxのcでシリアルデバイスからバイナリデータを読み取ろうとしています。 問題は、ドライバの内部バッファに文字があることがありますが、select(2)を使ってポーリングするとデバイスが読み込み準備ができていないと返されるということです。UARTバッファが読み取られない
私はtermiosの男性と関連するすべての男性を読んで再読し、インターネットで検索しました。私はすべてのフラグ(VTIME、VMIN)を正しく設定し、ICANONを設定しないと信じています。 関数 "tcmakeraw"を使ってみましたが、問題は解決しませんでした。
私は何をすればいいですか?
種類は、あなたがあなたの後/dev/ttyS0
(または当量)(ないCを通じて)直接setserial
あなたのパラメータを読んだときに何が起こる事前 Yannay
コードを添付してください... – BlueDog
'select()'を呼び出す前に 'readfds'を再入力したことを覚えていますか? – caf
どのタイプのシリアルポートですか? (すなわち、実際の16550、16550クローン、USBコンバータ、ブルートゥース、irda、...) –