Arduino 在Erlang中是否可以在Windows中使用OpenU端口?

Arduino 在Erlang中是否可以在Windows中使用OpenU端口?,arduino,erlang,windows-subsystem-for-linux,erlang-ports,Arduino,Erlang,Windows Subsystem For Linux,Erlang Ports,背景: 学院给我的任务是为Arduino UNO实现电梯的源代码,它有一个用户界面屏蔽,包含:一个7段显示器和总共8个按钮,每层一个,外加两个控制门的按钮。楼层按钮也有一个LED 硬件仅用于人类用户输入,但大脑完全由Erlang制造。在我们开始在硬件中实现这个项目之前,我们使用了一个模拟,它使用wxWidgets来显示以下UI:一个显示电梯门的窗口,每层多6个窗口,以及一个用于电梯内部按钮阵列的窗口。这个按钮数组就是我试图在Arduino中实现的 一些代码: 我们的老师给了我们一些关于erlan

背景:

学院给我的任务是为Arduino UNO实现电梯的源代码,它有一个用户界面屏蔽,包含:一个7段显示器和总共8个按钮,每层一个,外加两个控制门的按钮。楼层按钮也有一个LED

硬件仅用于人类用户输入,但大脑完全由Erlang制造。在我们开始在硬件中实现这个项目之前,我们使用了一个模拟,它使用wxWidgets来显示以下UI:一个显示电梯门的窗口,每层多6个窗口,以及一个用于电梯内部按钮阵列的窗口。这个按钮数组就是我试图在Arduino中实现的

一些代码:

我们的老师给了我们一些关于erlang:open_port/2使用的令人困惑的注释,我还不明白。我们使用的测试代码如下所示:

-模块(proUSB)。
-导出([开始/1、订单/2、循环/1、退出/2])。
开始(端口别名)->
端口=打开端口(端口别名[]),
Pid=spawn(proUSB,循环,[端口]),
端口连接(端口,Pid),
{Port,Pid}。
订单(端口、值)->
port_命令(port,Value)。
循环(P)->
接收
{P,{data,A}}->
io:格式(“接收:~p~n,[A]),
环(P);
{'EXIT',P,_Reason}->
港口关闭(P),
io:格式(“意外定稿~n”,[]);
退出->
io:格式(“进程终结~n”,[]);
其他->io:format(“Fi~p~n”,[Other])
结束。
退出(Pid,端口)->
港口关闭(港口),
Pid!出口
正如我所了解的,并使用上面提到的代码在Windows Subsystem for Linux(WSL)中成功地进行了测试,我在Erlang shell中所要执行的就是

> {Port, Pid} = proUSB:start("/dev/ttyS6").
{#Port<0.7>,<0.82.0>}
现在,如果我们按下楼层按钮1,你可以在终端中看到

Received: "B1\n"
Received: "\n"
Received: "B1\n"
Received: "\n"
我的问题:

如果我想使用Windows Powershell与串行端口进行相同的连接,我的老师让我们编写
“COM6”
,而不是
“/dev/ttyS6”
,但正如我所测试的,我无法获得连接,但我得到了这个错误

> {Port, Pid} = proUSB:start("COM6").
** exception exit: einval
>
我错过了什么?如果WSL可以与
“/dev/ttyS6”
一起工作,那么当我可以将串行端口与“RealTerm:serial Capture Program”一起使用时,为什么它不能与Windows一起工作呢

> {Port, Pid} = proUSB:start("COM6").
** exception exit: einval
>