MATLAB Answers


Does serial () detect a virtual COM port

Asked by Sreedu
on 9 Feb 2011
I want to know if the serial() function in MATLAB can get data from virtual COM ports. My system's COM port is not working so I use a USB to RS232 adapter. But now an error comes at serial() that this port is not available or does not exist. This was not the case with the original COM port.


Sign in to comment.

1 Answer

Answer by Ankit Desai on 9 Feb 2011

You should be able to get a USB-to-Serial adaptor to show up in MATLAB. Remember to restart MATLAB to see the new port show up.
The following command can list details on the serial ports found and ones that are available:
serialInfo = instrhwinfo('serial');
You might want to make sure that your serial port shows up in the "AvailableSerialPorts" field of the "serialInfo" structure obtained above.
A word of caution though that not all USB-to-Serial adaptors emulate an on-board serial port exactly. The better the adaptor emulate the on-board serial port, the better performance (reliable and robust) you will get.
Hope this helps,


on 10 Feb 2011
I got the following error with the command you mentioned:
??? Undefined function or method 'instrhwinfo' for input arguments of type 'char'.
Is the command valid for any particular version of MATLAB? I am using 7.9(R2009b).
Sorry I forgot to mention that command is only available with Instrument Control Toolbox.
To answer the question whether serial function works with virtual COM ports, yes it will as explained here:
To find out ports available (and their names) you will have to depend on operating system and use device manager.
Hi Ankit Desai, I am using the virtual usb port too. I can't obtained the port by command "instrfind" but yet I can obtained port through the "s=instrhwinfo('Serial')".
s =
AvailableSerialPorts: {2x1 cell}
JarFileVersion: 'Version 2.9.0'
ObjectConstructorName: {2x1 cell}
SerialPorts: {2x1 cell}
ans =
May I know how can I access the COM6, using the serial programming or other method? Thanks

Sign in to comment.