STM32CUBEMX F103 HAL库开发之 USB虚拟串口

今天心血来潮想写点东西
做比赛这么久了,应该写点东西,一是为了给自己学的知识一个总结,二是可以锻炼自己的写作能力与表达能力,帮助他人避免自己走过的坑

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 的专题,好好介绍一下,现在开始正题。
STM32CUBEMX F103 HAL库开发之 USB虚拟串口_第1张图片

使用cubemx配置 生成Keil工程

选择mcu的过程就不再赘述,直接开始配置

DEBUG选择 SW模式
STM32CUBEMX F103 HAL库开发之 USB虚拟串口_第2张图片
HSE高速总线始终改为外部晶振
STM32CUBEMX F103 HAL库开发之 USB虚拟串口_第3张图片
开USB --DEVICE(FS)
STM32CUBEMX F103 HAL库开发之 USB虚拟串口_第4张图片
选择 Communication Device Class(Virtual Port Com) 参数默认
STM32CUBEMX F103 HAL库开发之 USB虚拟串口_第5张图片
时钟树配置
STM32CUBEMX F103 HAL库开发之 USB虚拟串口_第6张图片
工程配置 IDE选择 MDK V5 。Stack Size 网上有人说要改大为0x1000,不然会出现设备无法识别黄色感叹号的问题,测试了不改也行,如果之后出现了这种情况可以将这里改大试试
STM32CUBEMX F103 HAL库开发之 USB虚拟串口_第7张图片
第一栏里选择复制必要的库文件 第二栏里勾选将文件分为.c和.h
STM32CUBEMX F103 HAL库开发之 USB虚拟串口_第8张图片


最后点击生成文件

注意 !
工程路径绝对不能有中文名,否则会报错,无法复制stm32的库文件到你的工程

#安装STM32虚拟串口驱动
官网下载 next安装 STM32 Virtual COM Port Driver

#keil中下载工程 测试串口
生成好的文件如下
STM32CUBEMX F103 HAL库开发之 USB虚拟串口_第9张图片
在main.c 中添加这几行代码测试usb是否能正常通信 ,编译,下载到单片机上 复位
STM32CUBEMX F103 HAL库开发之 USB虚拟串口_第10张图片

将micro usb线插到电脑上 此时应该能够在设备管理器中看到串口
STM32CUBEMX F103 HAL库开发之 USB虚拟串口_第11张图片
打开串口调试助手 可以看到有数据发过来 至此USB虚拟串口就配置好了
STM32CUBEMX F103 HAL库开发之 USB虚拟串口_第12张图片

你可能感兴趣的:(STM32CUBEMX F103 HAL库开发之 USB虚拟串口)