私の開発ターゲットは、/dev/ttyS0 と /dev/ttyS1 にある 2 つの物理シリアル ポートを持つ Linux コンピューターです。また、/dev/ttyS2 と /dev/ttyS3 が定義されていることも期待しています。
stty -f /dev/ttyS0 および S1 を使用すると、2 つのシリアル ポートの構成が報告され、S2 および S3 について「存在しない」というメッセージが報告されます。
ハードウェア設計者は、メイン ボードに組み込まれたシリアル ポートに USB を提供することについて話し合っています。外側は DB9 コネクタで、回路のみで、内側に USB コネクタはありません。USB からシリアルへの接続の数は保証されていません。
そのため、ポート サーバー デーモンをセットアップする際に、どの ttyS とどの ttyUSB が「本物」で、どれがそうでないかを判断できる必要があります。プレースホルダ ttyUSB はありますか? 1 つが「取り外された」場合はどうなるでしょうか (実際、PC の内部にある実際の USB カプラーであるとします)。
stty を popen() し、その出力を調べてシリアルポートのステータスを判断するよりも良い方法はありますか? stty 用の C API はありますか?
ありがとう!