1

シリアル ポート (例: /dev/ttyTEST) として表示される Linux アプリを作成したいと考えています。このアプリは、ポートに送信されたコマンドをリッスンし、応答します。

これは Qt/C++ を使用して可能ですか? 私はカーネルプログラミングを行っていないので、これがユーザー空間で可能になることを願っています。

4

1 に答える 1

1

すべては、そのようなデバイスを使用するアプリケーションが期待するものに依存します。

実際のシリアルデバイス/dev/ttyTESTのように動作し、速度などを設定するすべての ioctl に適切に応答する必要がある場合、これはユーザー空間からは実行できません。ただし、カーネル空間に実装するのはそれほど難しくありません。

/dev/ttyTESTtty のみが必要な場合は、疑似 tty を提供します。

/dev/ttyTEST単に別のアプリケーションが読み書きできるものである場合は、socketpair()そうします。

アプリケーションのコードを制御できる場合は、デバイスがソケット ペアであるか実際のキャラクター デバイスであるかをチェックし、ソケットでのシリアル ポート固有の API の障害を無視することができます。

于 2014-05-08T08:29:34.903 に答える