我希望能够从我的计算机上的串行端口读取并写入文件。在/ dev(在Windows 10上使用Bash shell)我似乎无法找到我的USB串口(我有tty,tty0,tty1,这就是tty)。
它位于其他地方,甚至可以通过bash shell访问吗?我只是想知道如何访问它。
在设备管理器中,当我插入USB时,COM4显示在端口下。我也跑了命令 wmic path Win32_SerialPort
在Windows命令提示符下,它说“没有可用的实例”。所以我很困惑我如何查看我的串行端口以及为什么它们在某些情况下不会出现。
关于串口如何工作的任何说明,特别是USB,都会非常感激,因为我对这些东西很新。
很快,Windows将正式支持Windows子系统Linux(WSL)上的串行。该 COM_n_
港口将在 /dev/ttyS_n_
制图:
COM1 >> /dev/ttyS0
COM2 >> /dev/ttyS1
...
COM192 >> /dev/ttyS191
这里有一个很好的功能描述:
https://blogs.msdn.microsoft.com/wsl/2017/04/14/serial-support-on-the-windows-subsystem-for-linux/
注意:在编写本文时,此功能仅适用于内部版本。
我也有同样的问题。显然你仍然不能在Windows上的Ubuntu(BoUoW)上使用Bash中的串行端口。
您可以使用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
这将在BoUoW中的/ tmp / vmodem0处创建一个虚拟串行端口,该端口连接到计算机上的COM4。