Matlab does not recognize serial port

Right now I'm trying to use Matlab to read in serial data through an FTDI interface with an RS422 on a laptop running Centos 6. The data is passed through every 25 seconds or so. I already have code that runs with another computer, and I know the laptop itself can receive the data (have confirmed this using cutecom). The current issue is that I cannot access the serial port in Matlab.
So far I have tried to create a symbolic link from /dev/ttyUSB0 (what the laptop recognizes as the port going to the RS422) to /dev/ttyS101 as described here. I also tried adding a java.opts file to specify which serial ports Matlab should be looking as described in the answer here.
I've verified permissions: used ls -l /dev/ttyUSB0 and got the following result:
crw-rw---- 1 root dialout 188
And I made sure I was in the dialout group.
Any suggestions on what to try next?

2 Comments

How are you trying to access the serial port and what is the error given by MATLAB?
Through a USB-to-RS422 cable. Running the following code:
s = serial('/dev/ttyUSB0')
fopen(s)
I get:
Error using serial/fopen (line 72)
Open failed: Port: /dev/ttyUSB0 is not available. No ports available.
Use INSTRFIND to determine if other instrument objects are connected to the requested device.

Sign in to comment.

Answers (2)

Make sure that no other program is accessing the serial port. Close all other programs which might be accessing the serial port and then try again. Also in MATLAB check the output of
instrfind
If it is non-empty then run the following lines before trying again
fclose(instrfind)
delete(instrfind)

5 Comments

I only have Matlab running while trying to run the code. Even restarted the laptop just to be sure.
Prior to running what I showed you above, the output of instrfind is []
As you mentioned in the question, you tried the symbolic link method. But in the code you gave in the comment, you are not using the symbolic link, rather the actual serial port. Have you tried
s = serial('/dev/ttyS101')
fopen(s)
after creating the symbolic link?
Yes I did, it gives the same errror. It does show up under seriallist but that's the only difference
I cannot think of any other reason. It seems to be some bug on Linux systems.
That was the answer I was worried about. Thank you for your help!

Sign in to comment.

vibhorag
vibhorag on 28 Jun 2019
Edited: vibhorag on 28 Jun 2019
I recieve the same error when trying to read the port; but, Matlab produces the same error. Has anybody worked out the solution for this?

Categories

Find more on MATLAB in Help Center and File Exchange

Products

Release

R2018a

Asked:

on 22 May 2018

Edited:

on 28 Jun 2019

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!