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 の以前の設定をすべて削除します。

関連情報