STM32CUBEMX F103 HAL库开发之 USB虚拟串口
2024-12-16 来源:cnblogs
stm32 USB VPC虚拟串口简介
很多stm32的开发版都带有一个usb接口,可以用cubeMx将其配置成一个虚拟串口,使用USB线就可以打印调试信息,省去了用TTL转USB的步骤,而且USB虚拟串口的速度和稳定性比TTL转USB要好,在开发中,这个工具可以帮助我们节省一个串口,同时获得更稳定的传输。
STM32F103C8T6_Black_Pill-1最小系统开发板
这个开发板性价比可谓是高到天际了,淘宝上遍地都是,它的led灯是接在PB12上的 ,我推荐这个板子作为实验用,它还有一个专门的网站,STM32F103C8T6-Black-Pill
它也是stm32duino项目的官方支持的板子,最近也在捣鼓STM32duino 的项目,查了很多资料,现在可以使用基本arduino库函数了,但是想开定时器什么的还是很麻烦,等有空了再写一个关于stm32duino 的专题,好好介绍一下,现在开始正题。

STM32F103C8T6_Black_Pill-1
使用cubemx配置 生成Keil工程
选择mcu的过程就不再赘述,直接开始配置
DEBUG选择 SW模式

sys
HSE高速总线始终改为外部晶振

rcc
开USB --DEVICE(FS)

usb
选择 Communication Device Class(Virtual Port Com) 参数默认

usbdevice
时钟树配置

时钟树
工程配置 IDE选择 MDK V5 。Stack Size 网上有人说要改大为0x1000,不然会出现设备无法识别黄色感叹号的问题,测试了不改也行,如果之后出现了这种情况可以将这里改大试试

project
第一栏里选择复制必要的库文件 第二栏里勾选将文件分为.c和.h

code_gen
最后点击生成文件
注意 !
工程路径绝对不能有中文名,否则会报错,无法复制stm32的库文件到你的工程
安装STM32虚拟串口驱动
官网下载 next安装 STM32 Virtual COM Port Driver
keil中下载工程 测试串口
生成好的文件如下

keil_文件树
在main.c 中添加这几行代码测试usb是否能正常通信 ,编译,下载到单片机上 复位

添加语句
将micro usb线插到电脑上 此时应该能够在设备管理器中看到串口

串口安装好了的图
打开串口调试助手 可以看到有数据发过来 至此USB虚拟串口就配置好了

串口
- STM32CubeMx GPIO口输出
- Keil5安装+STM32CubeMX安装+VSCode辅助开发教程
- STM32CubeMX保姆级安装教程
- STM32CubeMx 串口通信(下)串口接收
- 配置CLion + STM32CubeMX开发环境
- 基于STM32CUBEMX驱动TMOS模块STHS34PF80(2)----驱动STHS34PF80进行人体检测
- 基于STM32CUBEMX驱动低压步进器电机驱动器STSPIN220(3)----定时器中断产生指定数量脉
- 基于STM32CUBEMX驱动低压步进器电机驱动器STSPIN220(2)----驱动STSPIN220
- 基于STM32CUBEMX驱动低压步进器电机驱动器STSPIN220(1)----套件概述
- STM32CUBEMX(2)--USART通过DMA方式接收不定长数据
- 六大全新产品系列推出,MCX A微控制器家族迎来创新
- 意法半导体全新STM32C5系列,重新定义入门级微控制器性能与价值,赋能万千智能设备
- 模组复用与整机重测在SRRC、CCC、CTA/NAL认证中的实践操作指南
- 有源晶振与无源晶振的六大区别详解
- 从控制到系统:TI利用边缘AI重塑嵌入式MCU的边界
- 英飞凌持续巩固全球微控制器市场领导地位
- 使用 Keil Studio for Visual Studio Code开发 STM32 设备
- 蓝牙信道探测技术原理与开发套件实践
- Microchip 推出生产就绪型全栈边缘 AI 解决方案,赋能MCU和MPU实现 智能实时决策
- LoRa、LoRaWAN、NB-IoT与4G DTU技术对比及工业无线方案选型分析




