32F103RB用CubeMX配置USB虚拟串口VPC

zyg 3年前 (2022-03-05) 阅读数 1686 #MCU开发

(一) 开发环境使用Keil5.32 + CuebMX6.40 + HAL库


(二)配置USB工程

打开CubeMx的一个空工程,使能外部晶振

image.png         

使能USB(FS)  ,使用默认配置

image.png      

配置USB中间件部分,使能CDC,使用默认配置

image.png

配置时钟树,注意USBFS需要48MHz

image.png

配置仿真器接口,选择自己需要的方式

image.png



(三)配置生成工程选项

配置工程名称

image.png


配置code选项


image.png

  生成工程即可


(四)配置keil

 魔术棒-时钟

image.png

配置Debug

image.png


(五)测试VPC

USB的使用主要在APP中 特别是usdb_cdc_if,c


image.png

打开usbd_cdc_if.c

可以看到发送函数以及接收函数

image.pngimage.png

去他的头文件中找到发送函数,使用它进行测试



uint8_t CDC_Transmit_FS(uint8_t* Buf, uint16_t Len);

在主函数中测试他,使用方法和串口发送相同

/* USER CODE BEGIN 0 */
unsigned char  buff[] = "STM32F103RBTx USB CDC Test !";
/* USER CODE END 0 */

主函数

  /* USER CODE BEGIN WHILE */
  while (1)
  {
	  CDC_Transmit_FS(&buff,sizeof(buff));
	  HAL_Delay(100);
    /* USER CODE END WHILE */
	
    /* USER CODE BEGIN 3 */
  }

测试时多编译几次,keil多编译几次就不会报错了。


(六)测试

首先要去ST官网下载ST的USB驱动,

随便找个地方下也行

image.png

USB接电脑上可以看到程序生效了

image.png

打开串口上位机,波特率可以随便选,没有流控,8in1,测试串口:

image.png

测试成功了!

版权声明

本文仅代表作者观点。
本文系作者发表,未经许可,不得转载。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

yanguo

yanguo

管理员
作者文章
最新文章
标签列表
    欢迎你第一次访问网站!