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

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

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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)"
    },
]
### 配置陶晶驰串口屏的波特率方法 配置陶晶驰串口屏的波特率是实现主控芯片与串口屏通信的关键步骤。以下是详细的说明代码示例: #### 硬件连接 在开始配置之前,确保主控芯片(例如MCU)与陶晶驰串口屏之间的硬件连接正确。通常需要连接TX、RX、GND引脚[^1]。 #### 软件初始化 在软件层面,波特率的配置需要通过主控芯片的串口驱动程序完成。以下是一个基于C语言的示例代码,展示如何设置波特率为9600bps: ```c #include <stdio.h> #include <string.h> #include <termios.h> #include <unistd.h> #include <fcntl.h> void configure_serial_port(int fd) { struct termios options; tcgetattr(fd, &options); // 获取当前串口属性 // 设置波特率为9600 cfsetispeed(&options, B9600); cfsetospeed(&options, B9600); // 配置数据位、停止位校验位 options.c_cflag &= ~PARENB; // 无校验 options.c_cflag &= ~CSTOPB; // 1位停止位 options.c_cflag &= ~CSIZE; // 清除数据位掩码 options.c_cflag |= CS8; // 设置8位数据长度 tcsetattr(fd, TCSANOW, &options); // 应用配置 } int main() { int fd = open("/dev/ttyS0", O_RDWR | O_NOCTTY | O_NDELAY); if (fd == -1) { printf("无法打开串口\n"); return -1; } configure_serial_port(fd); // 配置串口参数 close(fd); return 0; } ``` 上述代码中,`configure_serial_port`函数用于设置串口波特率、数据位、停止位校验位。波特率被设置为9600bps[^1]。 #### 数据发送与接收 配置完成后,可以通过串口发送命令到陶晶驰屏。例如,初始化时发送特定的数据包`000000ffffff88ffffff`以建立通信[^1]。 ```c void send_data(int fd, const char *data) { write(fd, data, strlen(data)); } int main() { int fd = open("/dev/ttyS0", O_RDWR | O_NOCTTY | O_NDELAY); if (fd == -1) { printf("无法打开串口\n"); return -1; } configure_serial_port(fd); // 配置串口参数 const char *init_data = "000000ffffff88ffffff"; send_data(fd, init_data); // 发送初始化数据 close(fd); return 0; } ``` #### 注意事项 - 确保主控芯片与陶晶驰串口屏的波特率一致。 - 在实际应用中,可能需要根据具体硬件调整串口波特率。 - 如果使用其他编程语言(如Python),可以使用`pyserial`库来实现类似功能[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值