How can I get the available serial com port automatically?

34 visualizzazioni (ultimi 30 giorni)
After using this command instrhwinfo ('serial'), I get the available serial port name. Then I have to manually input it like- s = serial('COM5','BaudRate',9600). But how Can I automatically detect and use it without any manual edit inside the code?

Risposte (2)

Walter Roberson
Walter Roberson il 6 Set 2018
info = instrhwinfo('serial');
if isempty(info.AvailableSerialPorts)
error('No ports free!');
end
s = serial(info.AvailableSerialPorts{1}, 'BaudRate', 9600);
Unfortunately it would be common that this will not do what you want. Typically you want to find the serial port that a specific kind of device is on, not just any available serial port. Like if you have an older system that has a PS2 mouse connector no longer in use, that might show up as a serial port like COM2, but you would probably be more interested in finding an arduino or serial over USB port.
  2 Commenti
Jack Nguyen
Jack Nguyen il 28 Mag 2019
so if I would like to use the output answer to input data and graph, what will be the way to do it in my code?
I was trying to write:
info = instrhwinfo('serial');
if isempty(info.AvailableSerialPorts)
error('No ports free!');
end
s = serial(info.AvailableSerialPorts{1}, 'BaudRate', 9600);
open_data = fopen(s)
line = fgetl (open_data)
scan_line = sscanf (line, '%f,%f,%f) (depending on the output)
% it returns as too many argument open_data = fopen(s)

Accedi per commentare.


MD RAQUIBUZZAMAN
MD RAQUIBUZZAMAN il 6 Set 2018
I totally agree with you about it. Thank you for the reply. I will look for the link.

Categorie

Scopri di più su MATLAB Support Package for Arduino Hardware in Help Center e File Exchange

Prodotti


Release

R2016b

Community Treasure Hunt

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

Start Hunting!

Translated by