如何查看串口号和波特率?

本文介绍了如何在Windows系统中通过设备管理器查找串口号,以及如何通过SerialPort模块的list()方法获取并识别串口列表,包括波特率的设置过程。重点在于解决设备连接时遇到的串口号和波特率配置问题。

serialport引入后,设备也接上了,一直不知道串口号和波特率去哪里找,当时这个问题困扰了我很久

  1. 将设备的线插入到电脑上的插口(串口)
  2. 桌面的【此电脑】上右击选择管理,打开【设备管理器】
  3. 在【端口】中找到对应的端口,如果不知道是哪个就拔掉重新插进去一下看看多了哪个

在这里插入图片描述

  1. 对应设备名称后面括号里面的就是串口号,例如"蓝牙链接上的标准串行(COM3)",COM3就是串口号
  2. 右击对应的串口,点击【属性】,再点击【端口设置】,第一个【位/秒(B)】中的数值就是波特率,一般波特率都是9600

在这里插入图片描述

还有一个方法也可以查看到串口号,但是看不到波特率,就是使用SerialPort.list()方法

https://serialport.io/docs/next/api-serialport#list

const { SerialPort } = require('serialport') 
SerialPort.list().then((ports, err) => {
    // 串口列表
    console.log('获取所有串口列表', ports);
 })

获取到的ports是一个数组,包含当前电脑上所有的串口,其中的path就是串口号

ports示例:

[
    {
        "path": "COM4",
        "manufacturer": "Microsoft",
        "pnpId": "BTHENUM\\{00001101-0000-1000-8000-00805F9B34FB}_LOCALMFG&0000\\7&A148CA9&0&000000000000_00000000",
        "friendlyName": "蓝牙链接上的标准串行 (COM4)"
    },
]
正确设置串口通信波特率,需要保证发送端接收端的设置一致,以下是不同场景下的设置方法: #### 嵌入式系统(以 STM32 为例) 在 STM32 中,可使用串口操作相关库函数进行波特率设置。其中,`USART_Init()` 函数用于串口初始化,可设置波特率、数据字长、奇偶校验、硬件流控以及收发使能等参数。示例代码如下: ```c #include "stm32fxxx.h" void USART_Configuration(void) { USART_InitTypeDef USART_InitStructure; // 使能 USART 时钟 RCC_APBxPeriphClockCmd(RCC_APBxPeriph_USARTx, ENABLE); // 配置 USART 参数 USART_InitStructure.USART_BaudRate = 9600; // 设置波特率为 9600 bps USART_InitStructure.USART_WordLength = USART_WordLength_8b; USART_InitStructure.USART_StopBits = USART_StopBits_1; USART_InitStructure.USART_Parity = USART_Parity_No; USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None; USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx; // 初始化 USART USART_Init(USARTx, &USART_InitStructure); // 使能 USART USART_Cmd(USARTx, ENABLE); } ``` #### 上位机(以 C# 为例) 在 C# 中,可通过 `SerialPort` 类来设置串口通信的波特率。示例代码如下: ```csharp using System.IO.Ports; class SerialCommunication { SerialPort serialPort; public SerialCommunication() { serialPort = new SerialPort(); serialPort.PortName = "COM1"; // 设置串口 serialPort.BaudRate = 9600; // 设置波特率为 9600 bps serialPort.DataBits = 8; serialPort.StopBits = StopBits.One; serialPort.Parity = Parity.None; try { serialPort.Open(); // 打开串口 } catch (Exception ex) { // 处理异常 } } } ``` 波特率(Baud Rate)是串口传输速率,单位是比特每秒(bps),常见的波特率有 9600、19200、38400、115200 等,设置时需根据实际需求下位机的支持情况进行选择,确保与下位机的设置一致,否则可能导致数据传输错误[^1]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值