[STM32F1] 如何为 STM32 USB 设备配置更容易识别的名称

[复制链接]
58|5
yunfu1117 发表于 2026-8-7 21:13 | 显示全部楼层 |阅读模式
我在开发一款基于 USB‑CDC 的 STM32 设备,希望电脑识别它时,不只是显示普通的 “USB 串行设备” 以及对应的 COM 口号。
目前我通过电脑上的 Python 程序控制该设备,但必须硬编码写死对应的 COM 端口号。如果把设备换到另一台电脑运行同样的程序,COM 端口号就会发生变化。
是否可以给 USB 设备设置某种专属标识,让电脑能够据此识别,而不仅仅把它当作一个通用 “USB 串行设备”?还是说,我只能让电脑遍历每一个 COM 端口,向各个已连接设备发送查询指令,通过设备返回的应答来判断是不是目标设备?

21mengnan 发表于 2026-8-9 18:29 | 显示全部楼层
USB 设备对外展示的厂商名、产品名、序列号由字符串描述符控制,搭配自定义 VID/PID 能大幅提升辨识度;主流开发基于STM32CubeMX生成工程,核心修改文件为usbd_desc.c
zhuotuzi 发表于 2026-8-13 08:26 | 显示全部楼层
Windows / Linux /macOS 看到的 USB 设备名称,来源于 USB 描述符:设备描述符、字符串描述符、接口描述符,STM32CubeMX 生成的 USB‑Device 代码里,修改字符串描述符即可修改设备显示名称。
CarterERO 发表于 2026-8-13 12:48 | 显示全部楼层
改usbd_desc.c中的字符串描述符,自定义厂商名、产品名、序列号,PID和VID也要记得改。这样电脑上显示的设备名称就会更个性化了。
heisexingqisi 发表于 2026-8-16 20:54 | 显示全部楼层
STM32 USB 设备(CDC 虚拟串口、HID、MSC 等)电脑上看到的设备名称来自 USB 描述符字符串描述符,不是改变量名字,主要修改 usbd_desc.c 文件,STM32CubeMX 生成的工程都适用。
LightCatcher 发表于 2026-8-17 18:56 | 显示全部楼层
直接修改usbd_desc.c中的字符串描述符,自定义厂商名、产品名、序列号,这样电脑上显示的设备名称就会更个性化,避免硬编码端口号。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

215

主题

217

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部
0