我想应该有很多技术爱好者,跟我一样喜欢用C#来开发小小的上位机助手吧^_^。同时也多采用串口来收发数据,简单嘛。可是每次当往我们的本本上插上USB转串口时,都需要打开设备管理器看看,当前设备对应的串口号。好麻烦,有没有觉得???
现在我就教大家两种可以自动获得当前电脑上所有可用串口号的方法。
一、采用"try-catch"语句
很简单,直接上代码(感觉很熟悉的,请举手>_<)。这种方法,很笨的其实,运行时间很长;同时如果串口号大于50的话,就检测不到了。
1 for(int i = 1;i < 50;i++) 2 { 3 try 4 { 5 serialPort.PortName = "COM" + i.ToString(); 6 serialPort.Open(); 7 serialPort.Close(); 8 cboPortName.Items.Add(serialPort.PortName) 9 } 10 catch 11 { 12 } 13 }
二、采用SerialPort类自带的方法
同样也很简单,但需要引用"System.IO.Ports"命名空间。这种方法很好,运行时间短,对于串口号的范围没有限制。
1 foreach(string portName in SerialPort.GetPortNames()) 2 { 3 cboPortName.Items.Add(portName); 4 }
C#中获得当前可用串口号的方法,布布扣,bubuko.com
原文:http://www.cnblogs.com/EzRobot/p/3751300.html