15

コンピューターのシリアル ポートから読み取り、ファイルに書き込みできるようにしたいと考えています。/dev 内 (Windows 10 で Bash シェルを使用) で、USB シリアル ポートが見つからないようです (tty、tty0、tty1 があり、それが tty です)。

それは別の場所にありますか、それとも bash シェルからアクセスできますか? この時点でアクセスする方法を知りたいだけです。

USB を接続すると、デバイス マネージャーでポートの下に COM4 が表示されます。またwmic path Win32_SerialPort、Windows コマンド プロンプトでコマンドを実行したところ、「利用可能なインスタンスがありません」と表示されました。そのため、シリアル ポートを表示する方法と、特定のインスタンスでそれらが表示されない理由について非常に混乱しています。

特に USB でシリアル ポートがどのように機能するかについての明確化は、私がこのようなものにかなり慣れていないため、非常に高く評価されます。

4

2 に答える 2

4

私も同じ問題を抱えてる。どうやら、Bash on Ubuntu on Windows (BoUoW) ではまだシリアル ポートを使用できないようです。socat を使用して、基本的な読み取りおよび書き込み操作を実行できます。Cygwin を使用して、シリアル ポートを認識できる socat サーバーを作成しました。ただし、DTR および RTS ピンに問題がありました。

socat を使用すると、仮想シリアル ポートを作成したり、シリアル ポートを TCP 経由で転送したりできます。(そしてもっと。)

Cygwin では、シリアル ポートは /dev/ の下に ttyS* としてリストされます。たとえば、COM3 は /dev/ttyS2 で、COM4 は /dev/ttyS3 です。

Cygwinでサーバーを起動します

socat -d -d -d TCP4-LISTEN:2022,reuseaddr,fork /dev/ttyS3

BoUoW でクライアントを起動します。

socat PTY,link=/tmp/vmodem0 TCP:localhost:2022

これにより、/tmp/vmodem0 の BoUoW に仮想シリアル ポートが作成され、マシンの COM4 に接続されます。

于 2016-10-04T19:24:06.920 に答える