How to read COM port caption
Show older comments
I want to connect a device with multiple COM ports at different baud rate. However, every time I change HW or USB port, the COM port changes and I have to look into the device manager and then change COM ports in my script to make it work. However, I noticed that in the device manager the COM ports have captions which don't change with COM port number. I would like to know how can I automatically select the COM ports based on their captions.
Accepted Answer
More Answers (2)
Madhu Govindarajan
on 5 Mar 2019
1 vote
seriallist command is used to detect additions to the COM port #s (only available starting R2017a). However in this technique you are assuming that no other COM port devices gets added at the time of addition and you know the order in which you are adding the devices in. If these two can be guaranteed, then seriallist command output can be saved as a variable and see how it is changing and assign COM ports to appropriate devices based on the order.
Parth-Raj Singh
on 21 Mar 2019
2 Comments
asm = NET.addAssembly("System.Management");
mngmtQuery = System.Management.ObjectQuery();
mngmtQuery.QueryString = "SELECT * FROM Win32_PnPEntity WHERE Name LIKE '%(COM%'";
mngmtSearcher = System.Management.ManagementObjectSearcher(mngmtQuery);
mngmtObjColl = mngmtSearcher.Get();
comRep = repmat("",mngmtObjColl.Count,2);
enMngmtObjColl = mngmtObjColl.GetEnumerator;
i = 0;
while enMngmtObjColl.MoveNext()
i = i + 1;
com = enMngmtObjColl.Current;
caption = com.GetPropertyValue("Caption");
comRep(i,1) = string(caption).extract("COM" + digitsPattern);
comRep(i,2) = string(com.GetPropertyValue("Description"));
end
disp(comRep)
...works for me
Best regards
Christian
Parth-Raj Singh
on 7 Feb 2022
Categories
Find more on Use COM Objects in MATLAB in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!