How can I get the available serial com port automatically?
29 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
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 comentarios
Respuestas (2)
Walter Roberson
el 6 de Sept. de 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 comentarios
Jack Nguyen
el 28 de Mayo de 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)
Ver también
Categorías
Más información sobre MATLAB Support Package for Arduino Hardware en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!