#串行端口 #串行 #命名管道 #COM端口 #Windows

app winpipe2serial

将Windows命名管道链接到串行COM端口的实用程序

1个不稳定版本

0.1.0 2023年5月10日

763嵌入式开发

MIT 许可证

19KB
356

winpipe2serial

Windows管道到串行端口,用于Hyper-V虚拟机访问Windows主机COM端口,与插入Windows COM端口并使用Arduino/esp32编程的Hyper-V ubuntu虚拟机配合使用

要在Hyper-V ubuntu虚拟机中创建COM端口并将其映射到Windows管道,请以管理员模式打开PowerShell并输入

Set-VMComPort -Number <1 or 2, 1 for COM1, 2 for COM2> -Path \.\pipe\myserialpipe

我们可以通过输入 "Get-VMComPort " 来确认设置

现在关闭虚拟机并重新启动,您可以在该虚拟机的Hyper-V设置中看到新的COM端口,同时在ubuntu虚拟机内部也可以看到COM1的/dev/ttyS0和COM2的/dev/ttyS1。我们可以使用getserial应用程序来确认实际使用的串行端口,并使用Linux中的screen从串行端口读取。如果我们在同一ttyS上打开多个screen,则可能会变得混乱,这时我们不知道输出将发送到哪个screen。我个人使用minicom,我知道有一个minicom正在运行,我可以看到输出并发送数据

在虚拟机设置好映射到Windows管道的COM端口后,在Windows侧运行winpipe2serial二进制文件以实现管道到主机COM串行端口和相反方向的转换

要构建此二进制文件,请安装Rust(在Windows上,rustup-init.exe是安装的最简单方法,它将自动下载所需的Visual Studio C++工具等...)安装Rust后,在新打开的cmd窗口中输入 "cargo build"。然后以管理员身份打开cmd窗口,并输入 "target\debug\winpipe2serial.exe COM3 myserialpipe",其中COM3是Set-VMComPort中指定的示例COM端口,myserialpipe是同一命令中指定的管道。

依赖项

~1.2–2MB
~35K SLoC