C#_串口调试助手-扫描可用串口
生活随笔
收集整理的這篇文章主要介紹了
C#_串口调试助手-扫描可用串口
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
首先使用的是掃描串口號的方式去掃描可用串口,掃描20個串口,并嘗試打開此串口,如果可以打開則說明此串口可用,添加到列表否則錯誤跳過
但是會造成當已經打開過某個串口將無法掃描到,不是很可取
private void USART_Scan(SerialPort MyPort, ComboBox MyBox) {string Buffer; //判斷當前查詢的串口號是否可用int Count = 0; //記錄當前查詢到的可用串口號個數comboBox1.Items.Clear(); //清空ComboBox顯示內容 for (int i = 1; i < 20; i++){Buffer = "COM" + i.ToString(); //轉換串口號MyPort.PortName = Buffer; //賦值串口號try{MyPort.Open(); //嘗試打開串口MyBox.Items.Add(Buffer); //添加項目到ComboBOXMyPort.Close(); //關閉串口if (Count == 0) { Count = 1; comboBox1.Text = Buffer; }}catch{if (MyPort.IsOpen){MyBox.Items.Add(Buffer); //添加項目到ComboBOXif (Count == 0) { Count = 1; comboBox1.Text = Buffer; }}}} }其次是直接獲取系統存在的串口列表,可以保證所有打開未打開的都可以獲取到,目前這鐘比較好使,又快
private void USART_Scan(SerialPort MyPort, ComboBox MyBox) {comboBox1.Items.Clear(); //清空ComboBox顯示內容//得到當前串口號 string[] Serial_Name = SerialPort.GetPortNames();if (Serial_Name.Length > 0){Array.Sort(Serial_Name); //排序comboBox1.Items.AddRange(Serial_Name);}//如果當前有項目則默認填充第一個if (comboBox1.Items.Count != 0){comboBox1.SelectedIndex = 0;} }更重要的是可以實現實時掃描可用串口,方法也比較簡單,思路就是我們每次點擊下拉框切換串口時掃描一次
只需要雙擊Click 后面的空白區域,即可自動生成事件函數
然后將掃描串口的函數放在里面,不過由于每次點擊都會掃描,所以會有輕微卡頓,串口數量特別多沒有怎么測試,三四個問題不大 +-+
個人見解,感謝閱讀。
總結
以上是生活随笔為你收集整理的C#_串口调试助手-扫描可用串口的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: c语言两个字符串比较,将两个字符串s1和
- 下一篇: c# char unsigned_dll