MATLAB 未找到用于与 Arduino 通信的串行端口

MATLAB 未找到用于与 Arduino 通信的串行端口

我只是想知道如何在 Arduino 和 MATLAB 之间建立串行通信。从这里教程我复制了代码,但由于我的 PC 使用“Windows”,因此我不得不更改串行端口名称。我的 arduino 连接到“COM4”端口。在此处输入图片描述

但是当我运行代码时,弹出错误信息:“打开失败:端口:COM4 不可用。没有可用的端口。”我不明白这是什么意思,也不知道我该如何解决这个问题。我在互联网上找不到任何有用的信息。你能帮帮我吗?

在此处输入图片描述

我的代码如下:

function [obj,flag]=setupSerial(comPort)

flag =1;
obj=serial(comPort);
set(obj,'DataBits',8);
set(obj,'StopBits',1);
set(obj,'BaudRate',9600);
set(obj,'Parity','none');
fopen(obj);
a='b';
while (a~='a')
   a=fread(obj,1,'uchar');
end
if(a=='a')
   disp('Serial Setup Complete');
end
  fprintf(obj,'%c','a');
  mbox = msgbox('Serial Communication setup'); uiwait(mbox);
  fscanf(obj,'%u');
  fclose(obj);
end

提前致谢 。

答案1

您的端口可能已被其他通道使用或打开。在创建 obj 之前插入此行:

delete(instrfind({'port'},{comPort}));

此行将删除 comPort 的所有先前设置。

相关内容