我只是想知道如何在 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 的所有先前设置。