我在 VirtualBox 的 Ubuntu(16.04)上运行某个应用程序,而 VirtualBox 在 Windows 10(主机)上运行。
在 Simulink(在我的主机上运行)中,我有一个模拟,在最后阶段,我收集了一些值。我想通过串行连接以一定的波特率将这些值输出到在 VirtualBox 上运行的应用程序(即 QGroundControl 站)。
所以我的问题的第一部分 - VirtualBox:
在VirtualBox中,我启用了串口,并在端口模式下选择了一个主机管道,如图:
在图片中你可以看到使用了 COM6,但我使用了 COM1 和 COM2。我得到了相同的结果。
我不太习惯使用 VirtualBox,所以我真的不知道这是否意味着我现在已经在主机和来宾之间建立了连接,或者我是否仍然需要以任何方式激活或连接它们?
我的问题的第二部分 - Simulink:
在 Simulink 中,我想使用串行发送输出我的值(因为我认为这是最简单的方法?如果有更好的方法,请告诉我),但是如果我想选择一个端口,则不显示任何端口,如你可以看到:
我需要在 VirtualBox/Simulink 中做什么/更改才能显示我的 COM 端口?
最后一部分 - MATLAB:
因为在 Simulink 中,没有显示 COM 端口。我想检查 MATLAB 中的可用端口,但显然我的所有端口都已关闭:
>> info = instrhwinfo('serial')
info =
HardwareInfo with properties:
AvailableSerialPorts: {0x1 cell}
JarFileVersion: 'Version 3.8'
ObjectConstructorName: {0x1 cell}
SerialPorts: {0x1 cell}
Access to your hardware may be provided by a support package. Go to the Support Package Installer to learn more.
如果我尝试使用 fopen() 命令打开我的端口之一,我会收到以下消息:
使用串行/fopen
打开失败:端口:COM1 不可用。没有可用的端口。
使用 INSTRFIND 确定其他仪器对象是否连接到请求的设备。
使用“INSTRFIND”表示所有端口都已关闭。