上位机与设备进行串口通信之前都需要指定PC通信的串口号,这无疑给操作上带来不便,更痛苦的是每次都得到设备管理器查看当前连接的串口。
那么如何通过代码获取当前可用串口列表?一是通种注册表获取,操作比较复杂;微软为我们提供更简单的方式,通过SerialPort.GetPortNames()方法获取串口列表。使用时需要引用using System.IO.Ports;名字空间。代码如下:
/// <summary>
/// 构造函数
/// </summary>
public MainForm()
{
InitializeComponent();
GetSerialLstTbl();
}
&nb

该博客探讨了在Windows环境下,如何通过C#代码动态获取串口列表,并解决软件启动后插入USB转串口设备无法检测的问题。通过监听WM_DEVICE_CHANGE系统消息,当检测到DBT_DEVICEARRIVAL事件时,重新获取并更新可用串口列表,以实现热插拔检测。然而,这种方法可能导致在串口通信过程中因设备移除而引发异常,建议在热插拔前关闭串口。
最低0.47元/天 解锁文章
619

被折叠的 条评论
为什么被折叠?



