首先使用的是扫描串口号的方式去扫描可用串口,扫描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#_串口调试助手-扫描可用串口相关推荐

  1. 【Qt串口调试助手】1.3 - 重写ComboBox下拉框的鼠标点击事件,实现点击下拉框扫描可用串口

    由于ComboBox没有鼠标点击信号,所以如果想实现点击下拉框响应,需要重写ComboBox下拉框的鼠标点击事件.在点击事件中,添加扫描可用串口代码,实现点击下拉框时重新扫描串口.并且下拉框内容输出端 ...

  2. 485串口测试工具软件下载_串口调试助手详细讲解(结合实操),通讯问题不再是问题...

    经常会有学员问我,老师老师,我的plc和变频器通讯不上了,不知道什么原因,您能帮我看看么. 其实吧,这个一般远程是帮不上你什么的,还是要你自己去测试,找出问题,那么怎么测试呢,今天就给大家做一个详细的 ...

  3. C#_串口调试助手-保存TextBox数据

    将串口接收区的数据,即TextBox中的接收的数据保存在文本中 点按钮实现保存文本  自动将当前的时间作为名字,只能保存为 txt 文本. private void button3_Click(obj ...

  4. C#_串口调试助手-16进制和计算

    16进制和计算,输入数据必须时0x00-0xff 之间的数据,不可以输入除了0-9 a-f A-F外的任何内容包括回车和换行,并且此功能脱离串口存在,打开软件即可使用. 存在空格和不存在空格都是同样计 ...

  5. 使用虚拟串口软件和串口调试助手来测试串口通讯代码

    转载自:http://blog.csdn.net/u013232740/article/details/49838233 为解决计算机的物理串口个数的限制,在进行串口调试实验时,应尽可能采用虚拟串口软 ...

  6. C#_串口调试助手-网络拓扑显示

    先来个效果图,鼠标放在上面也会显示一些数据. 点击刷新的时候其实是动态的,会旋转一下,然后慢慢停停下来,使用js文件和html文件配合实现效果. 首先需要准备的文件 需要的是jequery-1.10. ...

  7. 利用VSPD、串口调试助手、Keil做串口调试

    下面详细介绍下如何用虚拟串口调试串口发送接收程序. 需要用到三个软件:KEIL.VSPD XP5(virtual serial ports driver xp5.1虚拟串口软件).串口调试助手(个人感 ...

  8. qt做串口调试助手——通信收发篇

    qt实现串口调试助手 串口初始化 串口调试助手的初始化,一般包括波特率.端口号.奇偶校验.数据位和停止位.如果最终需要将串口商业化,一般这些参数都会交给用户自定义,但我们写了自己用,且上位机和下位机同 ...

  9. 串口调试助手之间通信和接受、发送数据

    最近在用串口调试助手的时候在网上找了好多资料和教程都没有一个完整的,就来写个完整的串口调试助手资料给刚入门或者刚接触的小白,希望有所帮助! 1 . 准备好串口调试助手和虚拟串口驱动软件VirtualS ...

最新文章

  1. linux+用户的shell,Linux用户管理(十)Linux Shell高级
  2. 它指导了计算机行业大半个世纪的发展,如今却要走下神坛?
  3. 浙江大学PAT上机题解析之1009. 说反话 (20)
  4. for循环java_java的这三种for循环有什么区别?
  5. Rancher的简单部署和使用
  6. php插入一个自增字段,thinkphp-自增或自减一个字段的值
  7. 【python】yaml文件操作
  8. 谈话《百度搜索引擎的网页质量白皮书》
  9. 三维激光扫描数据处理理论及应用
  10. 用栈实现中缀表达式求值
  11. 高速局域网文件传输工具(速度可达20M) 的企业云盘
  12. Flutter Opacity 不透明度
  13. 如何看懂财务报表:(二)财务报表目录解释
  14. idea切换工作空间_IDEA在一个工作空间中管理多个项目的详细步骤
  15. opencv的dct和scipy.fftpack里dct的区别
  16. 【网络传输协议】RTSP即RealTimeStreamingProtocol流媒体网络传输协议
  17. 关于H5唤起地图导航小结
  18. 天琊 V1.0(测试 1125版)
  19. C/C++《程序设计基础(C语言)课程设计》[2023-04-20]
  20. 刘彬20000词汇04

热门文章

  1. java计算机毕业设计京东仓库管理系统源码+mysql数据库+系统+lw文档+部署
  2. spring 远程连接 rabbitMQ 报错
  3. 帆软 文件控件图标更换_【产品对比】赢在自我的战场:TABLEAU VS. 帆软 (1)
  4. uni-app实现简单上传图片Demo(不考虑小程序,只实现网页和App)
  5. java mocked_java如何使用Mockito?
  6. APP乱查征信?小心你的隐私被卖了!
  7. 能转PDF格式用的在线软件
  8. 基于STM32F103ZET6主控平台实现电容触摸按键 [基于TIM5_CH2(PA1)的输入捕获]
  9. 智慧书-永恒的处世经典格言:201-240
  10. 判断图有无环_数读湾区经济潜能:基于大数据分析的环杭州湾大湾区“一体化”发展潜能!...