1: function lCOM_Port = getAvailableComPort()
2: % function lCOM_Port = getAvailableComPort()
3: % Return a Cell Array of COM port names available on your computer 4: 5: try
6: s=serial('IMPOSSIBLE_NAME_ON_PORT');fopen(s);
7: catch
8: lErrMsg = lasterr; 9: end 10: 11: %Start of the COM available port12: lIndex1 = findstr(lErrMsg,'COM');
13: %End of COM available port14: lIndex2 = findstr(lErrMsg,'Use')-3;
15: 16: lComStr = lErrMsg(lIndex1:lIndex2); 17: 18: %Parse the resulting string
19: lIndexDot = findstr(lComStr,',');
20: 21: % If no Port are available22: if isempty(lIndex1)
23: lCOM_Port{1}='';
24: return;
25: end 26: 27: % If only one Port is available
28: if isempty(lIndexDot)
29: lCOM_Port{1}=lComStr;30: return;
31: end 32: 33: lCOM_Port{1} = lComStr(1:lIndexDot(1)-1); 34: 35: for i=1:numel(lIndexDot)+1
36: % First One37: if (i==1)
38: lCOM_Port{1,1} = lComStr(1:lIndexDot(i)-1); 39: % Last One 40: elseif (i==numel(lIndexDot)+1) 41: lCOM_Port{i,1} = lComStr(lIndexDot(i-1)+2:end); 42: % Others43: else
44: lCOM_Port{i,1} = lComStr(lIndexDot(i-1)+2:lIndexDot(i)-1); 45: end 46: end Description
This function output a cell array with string name of each COM port available on your PC.
Example:
COM_Port = getAvailableComPort();
資料來源: http://www.mathworks.com/matlabcentral/fileexchange/9251-get-available-com-port
全站熱搜
留言列表
