写在前面

C#中SerialPort类中没有直接可以判断串口连接状态的方法,在程序运行过程中需要能够实时检测串口的连接状态防止意外断开引起的异常。

以下的方法通过创建多线程进行轮询,通过SerialPort.GetPortNames();这个静态方法不停地获取设备串口号并与创建连接时记录的串口号进行比较。

后台代码

Thread thCheckSerialState= new Thread(new ThreadStart(delegate
{while (true)
{button_Port.Dispatcher.Invoke(new Action(delegate{string[] gCOM = System.IO.Ports.SerialPort.GetPortNames(); // 获取设备的所有可用串口int j = gCOM.Length; // 得到所有可用串口数目for (int i = 0; i < j; i++){if (gCOM[i] == portName){button_Port.Content = "关闭串口";return;}}button_Port.Content = "打开串口";}), null);Thread.CurrentThread.Join(500);//设定时间500ms}
}));
thCheckSerialState.Start();//启动线程

前台代码


<ComboBox x:Name="comboBox_PortNumber" HorizontalAlignment="Left" Margin="76,3,0,0" VerticalAlignment="Top" Width="76" DropDownOpened="comboBox_PortNumber_DropDownOpened" Height="24" FontSize="12" /><Button x:Name="button_Port" Content="打开串口" HorizontalAlignment="Left" Margin="0,119,-0.4,0" VerticalAlignment="Top" Width="162" Height="27" Click="button_Port_Click"/>

下载

基于上述开发的串口程序
下载链接:https://pan.baidu.com/s/1GjMK5oIuUbuCrIBfkX0noQ
提取码:qw7f

或访问
https://download.csdn.net/download/qq_44348665/12254541

C#实时判断串口连接状态相关推荐

  1. (read/write、select、getsockopt、signal)实时判断socket连接状态/是否断开

    为什么socket服务器断开之后客户端还能发送一次数据呢? 文章目录 为什么socket服务器断开之后客户端还能发送一次数据呢? 一.了解背后的原因 1.客户端是如何将数据发送给服务器端的?(服务器端 ...

  2. python判断sqlite连接状态_python3 自动识别usb连接状态,即对usb重连的判断方法

    在做自动化测试时,遇到两种情况需要判断usb是否已连接上(注,本文仅针对用adb命令来control手机) 一种是在开测时(前提是同时要测试多台), 希望等待所有设备usb全部识别后同时进行测试.对于 ...

  3. Android中监听判断网络连接状态的方法

    这个python代码是用来从DHT网络(一种分布式的"磁力链接"的共享网络,这个叫法是我个人对这种分布式网络的称呼)中,检测收集"磁力链接".每一个磁力链接就对 ...

  4. wifi连接状态android,判断android设备wifi连接状态

    添加访问权限(AndroidManifest.xml文件里) Java代码(MainActivity.java文件) package com.example.androidtest; import a ...

  5. android进入wifi权限,判断android设备wifi连接状态,判断android设备wifi,添加访问权限(Andro...

    判断android设备wifi连接状态,判断android设备wifi,添加访问权限(Andro 添加访问权限(AndroidManifest.xml文件里) ```Java代码(MainActivi ...

  6. 安卓实现判断手机网络连接状态是否联网,连接的是移动流量数据还是WIFI连接

    安卓实现判断手机网络连接状态是否联网,连接的是移动流量数据还是WIFI连接 开门见山地说,安卓APP在实际开发应用场景中很容易遇到需要判断网络连接状态的需求,毕竟对于手机APP来说,没有网络的情况并不 ...

  7. android获取wifi连接状态,获取android设备wifi连接状态

    本文将介绍如何获取android设备wifi连接状态! 添加访问权限(AndroidManifest.xml文件里) Java代码(MainActivity.java文件) package com.e ...

  8. java socket 自动重连_socket 如何判断远端服务器的连接状态?连接断开,需重连...

    fluent-logger-java is a Java library, to record events via Fluentd, from Java application. https://g ...

  9. kotlin_08:wlan直连/wifi_p2p的页面跳转以及实时获取连接状态

    前言之前一段时间一直加班,淦.五一,有点时间,简单的陈述一下,wlan直连页面的跳转和状态获取以及监听. 1. 先看效果 2. 布局文件 2.1 wifi_p2p_actvity_main.xml & ...

  10. Android实时监测网络连接状态及网络是否可用,类似微信的功能。

    实现实时监控网络变化,类似于微信的功能,当网络不可用时app能实时感知到,网上找了很多例子并不能实现,或者只实现其中一部分功能,我就参考大家的方法做一个组合. 一.网络状态变化监测,此方式只能监测网络 ...

最新文章

  1. Tianchi发布最新AI知识树!
  2. 我的数据分析全系列教程,记录着那些大学奋斗的时光
  3. 怎样制作滴滴截图_滴滴老了吗?
  4. C语言之struct A *b和struct A c区别
  5. apache过滤恶意频繁访问_采用网关过滤器实现权限验证及对异常统一处理
  6. JAVA笔记--数组和字符串常用方法
  7. 无人驾驶车辆模型预测控制配套代码_代码详解——最简NMPC路径跟踪仿真代码...
  8. LINUX SHELL脚本的if语句实在是诡异
  9. CAN总线和RS485的比较:
  10. 下载谷歌离线地图瓦片图
  11. Xcode低版本运行高版本真机(xcode9联调真机iOS12 系统)
  12. php抽奖简单源码,php转盘抽奖 完整例子源码(含模拟数据)
  13. 数据仓库实施步骤与关键成功因素
  14. 学习计算机基础有什么推荐的书和视频?
  15. 无限循环小数四则运算_无限循环小数能做加减乘除四则运算吗?无限不循环小数能做吗??...
  16. @Value注入静态变量(static)
  17. 下一代数据架构Data Fabric到底是什么?
  18. 如何比较两个速度的大小地程序_58安居客小程序平台化与多小程序开发探索与实践...
  19. 2018年全国计算机一级考试大纲,2018年全国计算机等级考试一级Photoshop考试大纲...
  20. 不得不说,还是这款开源工作流表单设计器较合心意!

热门文章

  1. TFTLCD显示实验_STM32F1开发指南_第十八章
  2. 三菱PLC的MX_COMPONENT安装过程
  3. lpddr3 阻抗_LPDDRx的总结
  4. OFBiz财务模型-金融账户
  5. lqr matlab,MATLAB中的LQR函数用法
  6. excel切片器_干货分享:Excel数据透视表操作技巧,帮你提升工作效率
  7. 【chrome插件开发一】初始chrome插件——helloWorld
  8. 工业相机 - - 线阵相机
  9. xp html5 显卡,最新桌面显卡性能排行 2018年5月显卡天梯图最新完整版
  10. rx550 黑苹果_黑苹果免驱显卡速查表