首页 > 编程语言 >C# SerialPort.Open() COM蓝牙串口阻塞问题

C# SerialPort.Open() COM蓝牙串口阻塞问题

时间:2024-01-22 14:23:05浏览次数:27  
标签:string C# 蓝牙 SerialPort 串口 Open

这种问题一般是蓝牙串口的问题,即使设置了SerialPort.TimeOut也是没有用的,需要验证串口名称,跳过该串口SerialPort.Open()步骤

这种有问题的蓝牙串口设备名称中会带有BTHENUM

那么我们就要取到串口名称,C#提供的SerialPort类只能取到串口编号,所以我们需要借助WMI取串口名称

private bool IsBTHENUM(string comName)
{
    string query = $"SELECT * FROM Win32_PnPEntity WHERE Caption LIKE '%({comName})%'";
    ManagementObjectSearcher searcher = new ManagementObjectSearcher(query);
    ManagementObjectCollection devices = searcher.Get();
    bool result = false;
    foreach (ManagementObject device in devices)
    {
        string deviceID = device["DeviceID"] as string;
        if (deviceID.Contains("BTHENUM"))
        {
            result = true;
            break;
        }
    }
    return result;
}

标签:string,C#,蓝牙,SerialPort,串口,Open
From: https://www.cnblogs.com/Stay627/p/17979945

相关文章

  • Python web crawler(2)json异步加载的格式
    异步加载的特点点击“查看更多”等按钮,浏览器“刷新”按钮无反馈效果。查看浏览器点击F12的“DevTools”开发者工具,点选“网络”——“Fetch/XHR”——每点击一次“加载更多”就会出现一次网络请求点击刷新出来的“请求内容”——点击“响应”,可以看到响应的是“字典”点击标......
  • abc等多个系统 每个系统有多个文档 ,每个系统根据不同的文类型获取该文件类型最新上传
    假如有abc等多个系统每个系统有多个文档,每个系统根据不同的文类型获取该文件类型最新上传时间文档(文件类型(文件类型字段为idoctype)分别为设计文档和评审记录文档,最新上传时间字段为duptime)这个思路和Java代码list怎莫处理对于这个问题,可以使用一个嵌套的Map来处理。外层的M......
  • 高铁拉我,马拉车——记高铁路上的manacher
    目录前言问题引入思路一览manacher高效的原因具体情况讨论小问题的讨论code前言不得为什么,总会在奇奇怪怪的时候特定时间看算法比平常看得舒服多了,之前看字符串匹配的时候自然是准备把马拉车一起看了的,但是那时候看不下去,昨天回家的高铁上再次看了看,觉得格外的亲切,emmm问题引入......
  • C语言中的野指针问题
    1、以下这种情况p也是个野指针int*ceFun(){intx=5;return&x;}intmain(){int*p=ceFun();*p=70;printf("%p\n",p);return0;}因为p指向了一个局部变量,指向了一个已经释放内存的变量2、还有哪些现象,开始定义的时候没......
  • CS231N Assigenment1 two_layer_net笔记
    two_layer_net.ipynb之前对 x.reshape(x.shape[0],-1)语句的输出结果理解一直有误:1x=[[1,4,7,2],[2,5,7,4]]2x=np.array(x)3x0=x.reshape(x.shape[0],-1)4x1=x.reshape(x.shape[1],-1)5print(x0)6print(x1)的输出实际为[[1472][2574]][[1......
  • 巴拉巴拉 HANA CLOUD 版本的ODATE 接口案例
    今天分享一个S4HC的ODATA接口这是一个维护PM中设备的的扣子 REPORT  YTEST029.DATA: LO_HTTP_CLIENT TYPE REF TO IF_HTTP_CLIENT.DATA: LO_HTTP_CLIENT2 TYPE REF TO IF_HTTP_CLIENT.DATA: RESPONSE TYPE STRING.DATA:IV_URL TYPE STRING.根据SM59中配置......
  • 如何检查 docker 容器日志大小并进行清理
    检查各容器日志大小:ls-lh$(find/var/lib/docker/containers/-name*-json.log)清空日志(需先进入到具体容器目录):cat/dev/null>*-json.log 限制容器日志大小(以配置日志文件最大为10MB,最多留存3个为例)1、在docker运行时添加参数:dockerrun-d\--log-optmax-si......
  • CF-1399-E2-优先队列
    1399-E2题目大意给定一棵\(n\)个节点的树,边带权,根节点为\(1\)。再给定一个整数\(S\),你可以执行以下操作:选择一条权值为\(w_i\)的边,令\(w_i\rightarrow\lfloor\frac{w_i}{2}\rfloor\)。你可以执行任意次操作,使得\(\sum_{x∈leaves}sum(1,x)\)不大于\(S\),其中\(sum(1,x)\)......
  • C++U6-03-最短路算法4-floyd算法
    B站复习视频:1、https://www.bilibili.com/video/BV1Fj411d71S/?spm_id_from=333.999.0.02、https://www.bilibili.com/video/BV1RK4y1d7ct?p=1&vd_source=5c960e1ede940bc5cab8ed42c8bdc937学习目标 floyd算法Floyd算法是一种用于找到图中所有节点对之间最短路径的动态规划......
  • Unity:Couldn't open include file 'Packages/com.unity.render-pipelines.universal/S
    初学Shader,Unity报错↑,总之是找不到ulsl的Core文件,网上找的其他解决方案例如删除文件夹再生成或者改变shader的某些属性,但是根本找不到。最终找到原因是项目类型不同,要把传统3D升级成URP项目。解决办法:安装UniversalRP拓展1.在unity中打开需要升级的场景,SaveAs一份并打开该场......