我希望能够从计算机上的串行端口读取并写入文件。在/ dev(在Windows 10上使用Bash shell)我似乎无法找到我的USB串口(我有tty,tty0,tty1,这就是tty)。
它位于其他地方,甚至可以通过bash shell访问吗?我只是希望能够知道如何访问它。
在设备管理器中,当我插入USB时,COM4显示在端口下。我还在Windows命令提示符下运行了命令wmic path Win32_SerialPort
,它说“没有可用的实例”。所以我很困惑我如何查看我的串行端口以及它们在某些情况下没有出现的原因。
任何关于串口如何工作的说明,特别是USB的说明,都会非常感激,因为我对这些东西很新。
答案 0 :(得分:5)
很快,Windows将正式支持Linux子系统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/
注意:在撰写本文时,此功能仅适用于内部版本。
答案 1 :(得分:4)
我有同样的问题。显然你仍然不能在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。