小编Lis*_*Lis的帖子

通过VirtualBox中主机和来宾之间的COM端口连接

我在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.
Run Code Online (Sandbox Code Playgroud)

如果我尝试使用fopen()命令打开一个端口,则会收到以下消息:

使用串行/打开错误
打开失败:端口:COM1不可用。没有可用的端口。
使用INSTRFIND确定是否将其他仪器对象连接到请求的设备。
使用“ INSTRFIND”显示所有端口均已关闭。

matlab virtualbox simulink communication qgroundcontrol

5
推荐指数
1
解决办法
1万
查看次数