首页 > 其他分享 >使用 csharp获取串口 的 全称

使用 csharp获取串口 的 全称

时间:2024-09-15 18:02:05浏览次数:10  
标签:hardInfos string coms 串口 key csharp hardPropertyValue 全称

使用的命名控件

using System.Management;

代码

点击查看代码
/// <summary>
/// 获取串口的全称 
/// </summary>
/// <returns></returns>
public static  List<string> GetCompleteNameOfSerialPort() {
      List<string> serial_port_result = new List<string>();
      Dictionary<string, string> coms = new Dictionary<string, string>();
      try {
          string sql = "select * from Win32_PnPEntity";
          using (ManagementObjectSearcher searcher = new ManagementObjectSearcher(sql)) {
              var hardInfos = searcher.Get();
              if (null != hardInfos) {
                  foreach (var hardInfo in hardInfos) {
                      var hardProperty = hardInfo.Properties;
                      if (null != hardProperty) {
                          PropertyData hardProperty2 = hardProperty["Name"];
                          if (null != hardProperty2) {
                              string hardPropertyValue = (string)hardProperty2.Value;
                              if (!string.IsNullOrWhiteSpace(hardPropertyValue)) {
                                  //是否为串口
                                  string pattern = @"COM\d+";
                                  if (Regex.IsMatch(hardPropertyValue, pattern)) {
                                      Match match = Regex.Match(hardPropertyValue, pattern);
                                      coms.Add(match.Value, hardPropertyValue);
                                  }
                              }
                          }
                      }
                  }
              }
          }


          foreach (string key in coms.Keys) {
              string value = coms[key];
              string listItem = string.Format("{0} {1}", key, value);
              serial_port_result.Add(listItem);
          }


      }
      catch (Exception ex) {

          throw ;
      }
      return serial_port_result;
  }

标签:hardInfos,string,coms,串口,key,csharp,hardPropertyValue,全称
From: https://www.cnblogs.com/echoPht/p/18415497

相关文章

  • 串口通信-stm32
    【实验目的】深入理解串口协议和串口程序编制方法;【实验要求】1.学会编写串口通信程序2.能够使用按键控制通信消息的发送2.学会在两块开发板之间通信的方式【实验内容】1.将开发板和PC机串口连接,并通过串口线和另一块开发板连接;2.在发送开发板上按下发送键,则向目标开发......
  • lesson05-设计主函数实现串口的初始化和运行
    根据boot.S里的内容,最后会跳转到kernel_main里,在这里会进行设置gpio引脚配置串口的初始化,然后循环运行,不断打印接受到的内容。//主函数voidkernel_main(){//串口初始化uart_init();//串口发送helloworlduart_send_string("Helloword!\n")//循环发......
  • RS232 串口服务器:传统通信的现代升级
    在现代通信技术的快速发展中,RS232串口服务器成为了连接传统设备与现代网络的关键桥梁。尽管RS232是一种较为古老的串行通信标准,但它在某些特定领域仍然发挥着不可替代的作用。本文将探讨RS232串口服务器如何实现传统通信的现代升级。RS232串口服务器是一种将RS232串行端口转换为网......
  • 多串口服务器:实现大规模设备通信的核心设备
    在物联网和工业自动化的浪潮中,设备之间的通信变得越来越频繁和复杂。为了应对这一挑战,多串口服务器成为了实现大规模设备通信的核心设备。它不仅能够提高数据传输的效率,还能够简化网络管理,为各种应用场景提供强大的支持。本文将探讨多串口服务器的重要性、关键特性以及在现代通信中......
  • 【linux】一种基于虚拟串口的方式使两个应用通讯
    在Linux系统中,两个应用之间通过串口(SerialPort)进行通信是一种常见的通信方式,特别是在嵌入式系统、工业自动化等领域。串口通信通常涉及到对串口设备的配置和读写操作。以下是一个基本的步骤指南,说明如何在Linux中设置两个应用以通过串口进行通信:1.确认串口设备首先,你需要确......
  • 深入剖析 USB 转串口的工作原理与实际应用
    在现代电子设备和计算机硬件的交互中,USB转串口技术扮演着至关重要的角色。它不仅提供了一种便捷的连接方式,还极大地扩展了设备的通信能力。本文将深入剖析USB转串口的工作原理及其在实际应用中的重要性。工作原理USB转串口设备的核心是一个集成电路,它负责将USB接口的信号转换为串行......
  • USB转串口设备在不同通信协议下的性能表现如何?
    USB转串口设备在不同通信协议下的性能表现主要取决于其硬件设计和驱动程序的支持。以下是对几种常见通信协议下USB转串口设备性能的分析:RS-232:这是一种传统的串行通信标准,使用非平衡信号传输,通常用于短距离通信。USB转串口设备在RS-232协议下通常能够提供最高115200bps的波特率,但由......
  • USB转串口:实现设备高效通信的关键工具
    在当今数字化时代,设备间的通信变得越来越频繁和复杂。为了满足不同设备间的通信需求,USB转串口技术应运而生,成为实现设备高效通信的关键工具。这项技术通过将通用串行总线(USB)接口转换为串行端口,极大地提高了数据传输的效率和便捷性。本文将探讨USB转串口技术的原理、应用以及它为何......
  • 专业解读:USB转串口技术的应用与优势
    在计算机硬件和数据通信领域,USB转串口技术已经成为连接外部设备与计算机的一种常见且实用的方法。这项技术通过将通用串行总线(USB)接口转换为串行端口,极大地扩展了计算机的连接能力和应用范围。本文将对USB转串口技术的应用与优势进行专业解读。应用场景数据采集:在工业自动化和科研......
  • stm32使用cubumx配置串口不定长接收
    前言此方法利用stm32的uart+dma来实现不定长接收,利用dma中的空闲中断。设置USART1为异步通信方式使能串口1全部中断设置USART1_RX的DMA中断接收 速度设置最大(其实用115200没有影响但为保证工程严谨性)检查中断优先级这两个中断是否开启  生成代码后......