Serial Communication in Maltab using Linux 64 Bit

39 vues (au cours des 30 derniers jours)
hhn_jb
hhn_jb le 9 Juil 2015
I use Matlab 2015a (64 Bit) on a Ubuntu Linux distribution system. I want to build a communication to a device with a RS232 port. For this task I use a USB to RS232 converter cabel. In Linux I get the information, that the cable is connected to ttyUSB0. But if i want to start the communication over Matlab with:
s = serial('/dev/ttyUSB0', 'BaudRate', 9600);
fopen(s)
I get the error:
Error using serial/fopen (line 72)
Open failed: Port: /dev/ttyUSB0 is not available. ....
I tested this process on a WIN System and there is no problem. The communication runs pretty well. Have anyone experieances with Linux/Matlab and serial communication?
  1 commentaire
William Harwin
William Harwin le 9 Mar 2017
This is in fact a Linux permissions problem rather than a Matlab problem. To test permissions see if there is a difference between
sudo stty -a -F /dev/ttyUSB0
and
stty -a -F /dev/ttyUSB0
If the latter says 'permission denied' or similar then you are probably not a member of the relevant group. The group on the USB port can be seen by using
ls -l /dev/ttyUSB0
and can be changed via
sudo usermod -aG groupname username
e.g.
sudo -aG dialout harrypotter
Check membership via the `group' command (a reboot may be necessary)

Connectez-vous pour commenter.

Réponses (2)

Álvaro Cortés Sánchez-Migallón
I followed other way. I got exactly the same error (Over Manjaro distribution) and of course is about permissions:
  • From terminal:
sudo chmod +777 /run/lock
sudo chmod +777 /dev/ttyACM0
  • From Matlab:
% Scan all serial ports
serialPorts = serialportlist
% Get serial port i want as serial communication
ACM0 = serial(serialPorts(1))
% Open file (now works)
fopen(ACM0)
% Read data all data available
data = fread(ACM0, ACM0.BytesAvailable);
  1 commentaire
Ravi Kiran Aggadi
Ravi Kiran Aggadi le 8 Juin 2022
Thanky you! the solution that you have mentioned helpd me in resolving the problem.

Connectez-vous pour commenter.


Dasharath Gulvady
Dasharath Gulvady le 21 Juil 2015

Community Treasure Hunt

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

Start Hunting!

Translated by