首页 > 其他分享 >查找串口

查找串口

时间:2024-11-06 10:57:54浏览次数:3  
标签:USB Port 查找 串口 COM ports match

查询串口

from serial.tools.list_ports import comports(from serial.tools.list_ports_windows import comports)
print(comports())
[<serial.tools.list_ports_common.ListPortInfo object at 0x0000014FD6B0A8C0>, <serial.tools.list_ports_common.ListPortInfo object at 0x0000014FD6C76BF0>, <serial.tools.list_ports_common.ListPortInfo object at 0x0000014FD6B0B370>, <serial.tools.list_ports_common.ListPortInfo object at 0x0000014FD6B0A680>, <serial.tools.list_ports_common.ListPortInfo object at 0x0000014FD6B0A5C0>, <serial.tools.list_ports_common.ListPortInfo object at 0x0000014FD6B0A620>, <serial.tools.list_ports_common.ListPortInfo object at 0x0000014FD6CBDA80>, <serial.tools.list_ports_common.ListPortInfo object at 0x0000014FD6CBDAB0>, <serial.tools.list_ports_common.ListPortInfo object at 0x0000014FD6CBD990>, <serial.tools.list_ports_common.ListPortInfo object at 0x0000014FD6CBDB10>, <serial.tools.list_ports_common.ListPortInfo object at 0x0000014FD6CBD930>, <serial.tools.list_ports_common.ListPortInfo object at 0x0000014FD6CBD960>, <serial.tools.list_ports_common.ListPortInfo object at 0x0000014FD6CBDC60>]

参数类型

<class 'serial.tools.list_ports_common.ListPortInfo'>

列表下存放字符串类型

def find_port():
    ports = []
    for c in comports():
        # 列表下存放字符串类型串口
        ports.append(str(c))
    print(ports)
    return ports

查询结果

COM57 - Silicon Labs Dual CP210x USB to UART Bridge: Enhanced COM Port (COM57)
COM1 - 通信端口 (COM1)
COM58 - Silicon Labs Dual CP210x USB to UART Bridge: Standard COM Port (COM58)
COM42 - SimTech HS-USB Diagnostics 9011 (COM42)
COM76 - SimTech HS-USB NMEA 9011 (COM76)
COM45 - Silicon Labs Dual CP210x USB to UART Bridge: Standard COM Port (COM45)
COM38 - Silicon Labs Dual CP210x USB to UART Bridge: Enhanced COM Port (COM38)
COM43 - SimTech HS-USB AT Port 9011 (COM43)
COM14 - SimTech HS-USB Modem 9011 #2
 - 标准 33600 bps 调制解调器
 - 标准 33600 bps 调制解调器 #2
 - 标准 33600 bps 调制解调器 #3
 - 标准 33600 bps 调制解调器 #4

查找匹配到的第一个uart口

def uart(ports):
    for p in ports:
        match = re.match(r'(COM\d+).*Enhanced.*', p)
        if match:
            return match.group(1)

同理,查找at口和modem口

def at(ports):
    for p in ports:
        match = re.match(r'(COM\d+).*AT.*', p)
        if match:
            return match.group(1)


def modem(ports):
    for p in ports:
        match = re.match(r'(COM\d+).*Modem.*', p)
        if match:
            return match.group(1)

结果

if __name__ == '__main__':
    u = uart(find_port())
    a = at(find_port())
    m = modem(find_port())
    print('串口:', u)
    print('at口:', a)
    print('modem口:', m)

标签:USB,Port,查找,串口,COM,ports,match
From: https://www.cnblogs.com/xxcnblog/p/18529532

相关文章

  • 学习记录:STM32G431CBU6的多通道ADC采样串口打印(HAL库)
    一配置  二代码uint16_tGet_adc(){//启动ADC1HAL_ADC_Start(&hadc1);//等待ADC转换完成,超时为100msHAL_ADC_PollForConversion(&hadc1,100);//判断ADC是否转换成功if(HAL_IS_BIT_SET(HAL_ADC_GetState(&hadc1),HAL_ADC_STATE_REG_EOC)......
  • STM32 第20章 USART--串口通信3
    时间:2024.10.30参考资料:《零死角玩转STM32》“USART--串口通信”章节 一、学习内容1、串口2345代码移植实现控制串口2-->将串口1的宏修改成串口2的即可1.1串口的宏串口1://为了方便移植,定义的宏//串口1-USART#defineDEBUG_USARTxUSART1#d......
  • STM32 第20章 USART--串口通信2
    时间:2024.10.29参考资料:《零死角玩转STM32》“USART--串口通信”章节编程是从GPIO输出-使用固件库点亮LED灯的基础上开始一、学习内容1、STM32串口初始化结构体和固件库1.1USART初始化结构体 /***@briefUSARTInitStructuredefinition*/typedef......
  • 通过串口与ModBus硬件设备通信
    探头与变送器前面的文章已经实现了ModBus客户端与服务端和他们之间的通信。但只是软件不够,毕竟传感器是硬件。经过我的了解,一个完整的实现了Modbus协议的,并且通过RS485电缆与电脑交换ModBusRTU报文的Modbus设备,一般由两个部分组成。探头探头就是将物理量转化为电信号的东西......
  • 34. 在排序数组中查找元素的第一个位置和最后一个位置
    题目参考了y总讲的这题789.数的范围自己是这样写的;classSolution{public:vector<int>searchRange(vector<int>&nums,inttarget){vector<int>result(2,-1);intl=0,r=nums.size()-1;while(l<r){......
  • 基于51单片机温湿度采集数码管手机app显示+源代码程序+proteus仿真+dht11温湿度传感器
    一、设计简介本项目是简单的物联网(IoT)应用,使用51单片机STC89C52与温湿度传感器DHT11相结合,测量温湿度数据显示在八位数码管,同时通过WiFi模块ESP8266(ESP-01S)将测得的温湿度数据发送到手机APP上,而手机APP则使用AppInventor进行开发。二、功能设计1、数码管实时显示当前温湿度......
  • c语言:一维数组+二维数组+二分查找法
     1:数组的概念     概念:数组是一组相同元素的集合。     特点:1、数组中存放的是一个或者多个数据,但是数组的元素个数不可以为0.3          2、数组里存放的数据是同类型的数据     分类:数组分为一维数组和多维数组,其中多......
  • 树莓派开发相关知识六 -串口通讯
    1、uart串口通信uart串口通信协议,使用txd,rxd双引脚实行异步数据传输,其中txd为传输口,rxd为接收口。其协议如上图,由起始位+有效数据位+奇偶校验位(*可选),停止位(*宽度可调),空闲位组成,即根据uart协议,当我们需要发送如01010101这8位有效数据时,我们应该让txd引脚成010101010(LSB......
  • ——二分查找——
    注意:代码中的left、right、mid都是下标,只有val代表的是值,区别好,才能更好理解代码。一、代码实现deffun(li,val):left=0#下标第一个right=len(li)-1#下标最后一个whileleft<=right:#查找范围,左......
  • 嵌入式Linux驱动开发环境搭建-CH340 串口驱动安装
    CH340串口驱动安装驱动安装安装之前一定要连接板子检查驱动是否安上驱动安装我们一般在Windwos下通过串口来调试程序,或者使用串口作为终端,STM32MP157开发板使用CH340这个芯片实现了USB转串口功能。CH340是一款常用的USB转串口转换芯片,通常用于将USB接口连......