termios.h
ファイルを閉じて再度開くと、機能設定は変更されますか?
termios
ioctl
ファイルポートへの読み取りと書き込みのみを提供し、アドイン(、、、、fnctl
)は提供していない高級言語(Racket)でシリアル通信を使用したいと思います。 FFIを使用してこれらのアドインをバインドして使用できますが、Racket機能を使用して読み取り/書き込みを実行するには、指定されたファイルを閉じて再度開く必要があります。したがって、質問です。
ベストアンサー1
termios
シリアルポートが閉じても、ほとんどの設定(転送速度など)は維持されます。ただし、シリアルポートを閉じると、DTRを無効にするなど、望ましくない影響が発生する可能性があります。
ただし、アプリケーションでシリアルポートを開いたままにし、シャットダウン時にリセットされる可能性のある設定変更が失われることを防ぐなど、望ましくない影響を避けることができるはずです。まず、Racketでポートを開き、FFI機能を使用して必要なすべての操作を実行します。ここでは、ioctl
シリアルfcntl
ポートを再度開き、2番目の参照を閉じてから、元のRacketで開いた参照を使用します。また、シリアルポートを再開せずにRacketから直接ファイルディスクリプタを取得し、FFIに使用することもできます。私はラケットが何であるかわからないので、これについてはよくわかりません。