Der serielle Port wurde von MATLAB nicht gefunden, um mit Arduino zu kommunizieren

706
Anklon

Ich versuche nur zu wissen, wie man die serielle Kommunikation zwischen Arduino und MATLAB aufbaut. Aus diesem Tutorial habe ich den Code kopiert, aber für meinen PC "Windows" musste ich den Namen der seriellen Schnittstelle ändern. Mein Arduino ist mit dem COM4-Port verbunden.Der serielle Port wurde von MATLAB nicht gefunden, um mit Arduino zu kommunizieren

Beim Ausführen des Codes wurde jedoch ein Fehler angezeigt: "Öffnen fehlgeschlagen: Port: COM4 ist nicht verfügbar. Es sind keine Ports verfügbar." Ich verstehe nicht, was das bedeutet und wie ich das Problem lösen kann. Ich habe nichts im Internet gefunden. Kannst du mir bitte helfen?

Der serielle Port wurde von MATLAB nicht gefunden, um mit Arduino zu kommunizieren

Mein Code ist unten angegeben:

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 

Danke im Voraus .

0
Sie haben es vielleicht noch nicht geschlossen. Ich würde vorschlagen, das serielle Objekt global zu machen, sodass Sie es auch schließen können, wenn Sie das lokale Handle verlieren. vor 8 Jahren 0
Wahrscheinlich eine bessere Lösung für SuperUser, da dies eine Frage der PC-Hardware / Software ist. Adam Lawrence vor 8 Jahren 0
Ich habe es geschlossen, obwohl ich diese neue Zeile am Ende hinzugefügt habe, um es zu schließen, immer noch dasselbe Problem. Anklon vor 8 Jahren 0

1 Antwort auf die Frage

0
Anklon

Ihr Port kann für einen anderen Kanal verwendet oder geöffnet werden. Fügen Sie diese Zeile vor dem Erstellen des Objekts ein:

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

Diese Zeile löscht alle vorherigen Einstellungen des comPort.