How can I get the available serial com port automatically?
21 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
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?
0 commentaires
Réponses (2)
Walter Roberson
le 6 Sep 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 commentaires
Jack Nguyen
le 28 Mai 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)
Voir également
Catégories
En savoir plus sur MATLAB Support Package for Arduino Hardware dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!