由于在工作的过程中,经常用到串口测试工具,在测试连接硬件设备的时候一般使用usb转232来连接,但是在不同的电脑甚至不同的usb口都可能映射出不同的串口号来,在这个时候就要在设备管理器中查看当前的串口号是多少,这个操作比较繁琐,如下:

先要确定我的串口号是com4,如果这个选择不正确,后面的串口连接是不可能正常的。

那么能不能省掉这一步呢,经查找资料,可以在c#中体现,当然具体其他环境是否可以,没有查找,咱们只关注我们要关心的。下面描述下实现的过程:

1.

定义串口,我这里使用的一个我自己封装的类,可以使用getportnames来获得列表

public string[] ports;                             //串口列表

public YFCSerial()
        {
            //初始化SerialPort对象
            comm.NewLine = "\r\n";
            comm.RtsEnable = true;      //根据实际情况吧。
            received_count = 0;
            send_count = 0;
            ports = SerialPort.GetPortNames(); //获得串口的列表
            Array.Sort(ports);//排序
            HexFlag = true;
        }

然后在窗口初始化的时候,将列表传递过来并显示

public form1()

YFCSerial serial = new YFCSerial();

serial_name.Items.AddRange(serial.ports);

if(serial.ports.Length>0)

serial_name.SelectedIndex = 0;

这里 还需要注意一点,以上虽然实现了可以自动查找的功能,但是有一个要求,必须是先插入usb转232,然后启动程序才行,但是我平时为了省时间,经常是先启动程序在插入usb转232,这样就不能实现了,这样需要再增加一个消息,当combox控件的dropdown的时候触发。

private void combo_comm_DropDown(object sender, EventArgs e)
        {
            InitPorts();
        }

public void InitPorts()
        {
            //初始化串口
            combo_comm.Items.Clear();
            string[] comm_names = SerialPort.GetPortNames();
            combo_comm.Items.AddRange(comm_names);
            if (comm_names.Length > 0)
                combo_comm.SelectedIndex = 0;
            comboBox4.Items.AddRange(comm_names);
            if (comm_names.Length > 0)
                comboBox4.SelectedIndex = 0;
        }

这样就可以完美实现了,即使在使用的过程中不小心拔出usb,再插到别的usb接口上,程序也能扫描到,完全省去从设备管理器中查找串口的步骤。

这里仅作记录和部分人参考使用,如果有其他更好的办法,欢迎留言讨论。

c# 实现自动搜索串口列表并刷新相关推荐

  1. Python Tkinter - WiFi WL Test 上位机 (自动搜索Uart、执行exe/Bat)

    目录 Python Tkinter - WiFi WL Test 上位机开发 特点: 先上图: 自动查找可用串口,如果电脑未连接串口,会打印提示信息: 连接串口后,即可执行WL 命令和测试通讯: 连接 ...

  2. 2020-08-27 RPA uipath入门demo,超级鹰实现验证码自动登录,自动搜索和拉取数据到excel,robot和Orchestrator共同实现定时安排机器人执行任务。

    资源地址:https://download.csdn.net/download/u012742970/12773335 本文主要讲解uipath studio,uirobot,Orchestrator ...

  3. Qt实现定时自动检测串口

    Qt实现定时自动检测串口 在学Qt串口使用时,参考了CSDN上挺多的博客,大部分都讲的不错,适合初学者. 串口操作基本介绍 Qt为串口操作提供了两个类QSerialPort和QSerialPortIn ...

  4. 【小妙招】【旧版】欢庆网自动搜索请柬console方法

    如何快速找到欢庆网的请柬网址 第一步: 打开欢庆网,点开婚礼请柬列表页面 第二步: 在当前网页按F12 第三步: 复制以下代码 //自动搜索指定的请柬 var delay = 1 * 1000;//1 ...

  5. 电影挖掘机 搜索各大视频网站API接口 自动搜索全网所有电影

    电影挖掘机是一款通过搜索各大视频网站API接口,自动搜索全网所有电影.电视剧.综艺.动漫等,只要输入正确视频名称,或者模糊视频名称即可,使用简单,搜索结果双击列表即可播放:并且还支持手机格式电影下载. ...

  6. Python+Selenium自动搜索基金业协会指定企业名单,抓取指定信息并保存到数据库...

    Python+Selenium自动搜索基金业协会指定企业名单,抓取指定信息并保存到数据库.网址https://gs.amac.org.cn/amac-infodisc/res/pof/manager/ ...

  7. html做一个京东搜索功能,连续动作:自动搜索关键词采集信息—以京东为例

    一.操作步骤 如果网页上有搜索框,但是搜索结果页面没有独立网址,想要采集搜索结果,直接做规则是采集不到的,要先做连续动作(输入+点击)来实现自动输入关键词并搜索,然后才能采集数据.下面用京东搜索为例, ...

  8. Android 类似淘宝 电商 搜索功能,监听软键盘搜索事件,延迟自动搜索,以及时间排序的搜索历史记录的实现

    最近跳槽去新公司,接受的第一个任务是在 一个电商模块的搜索功能以及搜索历史记录的实现. 需求和淘宝等电商的功能大体差不多,最上面一个搜索框,下面显示搜索历史记录.在EditText里输入要搜索的关键字 ...

  9. python搜索关键词自动提交_Python自动搜索关键词采集信息—以京东为例!

    一.操作步骤 如果网页上有搜索框,但是搜索结果页面没有独立网址,想要采集搜索结果,直接做规则是采集不到的,要先做连续动作(输入+点击)来实现自动输入关键词并搜索,然后才能采集数据.下面用京东搜索为例, ...

最新文章

  1. k8s系列~mgr的应用
  2. Nodejs Hello world benchmark
  3. Mathematica 8 的激活方法 (转载)
  4. php 接口curl,php中接口强大之处php_curl
  5. mysql DbProviderFactories.GetFactory失败,解决方法
  6. html表单ui图片,semantic-ui 表单(示例代码)
  7. Linux C高级编程——文件操作之系统调用
  8. 启迪公交:DRDS助力城市公交系统智能化
  9. 适用响应式 Web UI 框架
  10. matlab将矩阵分解成lu,10行代码实现矩阵的LU分解(matlab)
  11. vmware虚拟的ubuntu18.04死机,尝试关闭时关机报“虚拟机xxx繁忙”
  12. 交互式多模型_体系化教学资源上新——小学数学交互式教学工具
  13. 错误与异常_2-7选择题
  14. 图书管理系统python代码课程设计报告_python代码实现图书管理系统
  15. MySQL 数据库规范
  16. 老九学堂 学习 C++ 第四天
  17. 【包运行】Java 实现图形界面的邮件轰炸机附带视频指导教程
  18. Google Pay India(UPI) 印度
  19. 高分子聚合物过滤器折叠滤芯
  20. 【原创】Quartus II 简单设计流程

热门文章

  1. ssh远程工具_Rsync如何利用SSH加密隧道同步文件
  2. poi 合并单元格_POI数据获取脚本分享
  3. python requests 重定向_认识Python最最最常用语重要的库Requests
  4. 不要用JWT替代session管理(上):全面了解Token,JWT,OAuth,SAML,SSO
  5. nginx服务器的负载均衡和动静分离(未完)
  6. 构建高可用服务器之二 Keepalive参数详解
  7. IIRF重写在asp.net4.0+IIS6中部分失败的解决方案
  8. Ubuntu12.04Beta版我在用的软件
  9. 一不小心,删错了,还把回收站清空了,咋办啊?
  10. 再学 GDI+[11]: DrawCurve - 绘制曲线