I'm trying to open a serial port, but Matlab says it's not available. What can i do?
    26 views (last 30 days)
  
       Show older comments
    
Hi everyone, I know a lot of people already asked for this but i cannot find any solution. I've got an Arduino board connected to a serial port (COM5), but when i run fopen(serialobj) it fails saying that "COM5 is not available". I tried to open Arduino IDE and uploading another sketch on that port and it went well; even though I close the IDE matlab still gets the same error. I tried with INSTRFIND and the output was
   Index:    Type:     Status:   Name:  
   1         serial    closed    Serial-COM2
   2         serial    closed    Serial-COM2
   3         serial    open      Serial-COM5
   4         serial    closed    Serial-COM5
   5         serial    closed    Serial-COM3
   6         serial    closed    Serial-COM5
   7         serial    closed    Serial-COM3
   8         serial    closed    Serial-COM3
   9         serial    closed    Serial-COM3
The error message given by Matlab is this:
'Open failed: Port: COM5 is not available. No ports are available.↵Use INSTRFIND to determine if other instrument objects are connected to the requested device.'
Can someone help me? PS: Baudrate is 4800, the same as the one i set on Arduino.
1 Comment
  Enrique Paredes Sánchez
 on 5 Jun 2021
				I had the same problem, it was due to another program was using the port. I closed it and then it solved.
Answers (5)
  Nim Pim
 on 2 May 2021
        
      Edited: Walter Roberson
      
      
 on 5 Jun 2021
  
      Disconnect and delete all the objects using "instrreset". Then it works.
  Saurabh Gupta
    
 on 12 Apr 2017
        It looks like you already have the port open. You may want to fclose or delete it before trying to fopen it.
2 Comments
  Peter Nelson
 on 26 Mar 2019
				Doesn't work for me.  I tried inserting the solution provided in the answer from SG:
    if ~isempty(instrfind)
       fclose(instrfind);
       delete(instrfind);
    end
but I still get the error.  The only fix is to leave and re-start Matlab.... sometimes several times before it allows me to open it with the serial command.  In my case its a USB port.  Any other ideas???
  Davide Nicolò Fortunato
 on 19 Apr 2019
        I have the same problem, but i have an elegoo uno board. (the microcontroller is the same atmega of arduino uno). 
i have yet tried 
    if ~isempty(instrfind)
       fclose(instrfind);
       delete(instrfind);
    end
but nothing :(
0 Comments
  Renner Josef
 on 4 Jun 2019
        Does work for me so far with an elegoo MEGA2560 R3. 
Thanks for your help.
0 Comments
See Also
Categories
				Find more on Arduino Hardware in Help Center and File Exchange
			
	Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!








