Visual Studio 开发STM32实现USB虚拟串口功能——方法2 使用stm32CubeMX完成USB配置

  •      有三种方法可以在visual studio上实现USB虚拟串口功能。
  •      用到的工具有:visual studio2012;keil5;stm32CubeMX5.3.0;
  •      使用的STM32芯片是:STM32F103C8T6;SWD下载模式;
  •      因为我喜欢visual studio的编辑环境,所以不用keil开发stm32;
  •         我想达到的目的是:寻求一种方法,可以自动帮我配置好USB虚拟串口,让我可以直接使用!我不想过多的了解USB CDC的各种知识,也不想按照网上的教程从官方例程中进行各种文件的移植,我只想傻瓜式操作,给我个收发函数,直接用就完事了。       
  •          如果你的想法跟我一样,那么希望我的这三个方法能帮到你。

 自制板子原理图,USB部分

Visual Studio 开发STM32实现USB虚拟串口功能——方法2 使用stm32CubeMX完成USB配置_第1张图片

 方法2:使用stm32CubeMX自动完成USB虚拟串口的配置,并生成可以用keil打开的工程,然后将keil工程用visual studio打开并编辑

Visual Studio 开发STM32实现USB虚拟串口功能——方法2 使用stm32CubeMX完成USB配置_第2张图片

 

Visual Studio 开发STM32实现USB虚拟串口功能——方法2 使用stm32CubeMX完成USB配置_第3张图片

 

Visual Studio 开发STM32实现USB虚拟串口功能——方法2 使用stm32CubeMX完成USB配置_第4张图片

Visual Studio 开发STM32实现USB虚拟串口功能——方法2 使用stm32CubeMX完成USB配置_第5张图片

 

Visual Studio 开发STM32实现USB虚拟串口功能——方法2 使用stm32CubeMX完成USB配置_第6张图片

注意: Battery Charging就是旧版的VBUS sensing,如果是enablePC会识别不了USB虚拟口,出现unknow device。

 

Visual Studio 开发STM32实现USB虚拟串口功能——方法2 使用stm32CubeMX完成USB配置_第7张图片

 

Visual Studio 开发STM32实现USB虚拟串口功能——方法2 使用stm32CubeMX完成USB配置_第8张图片

 

Visual Studio 开发STM32实现USB虚拟串口功能——方法2 使用stm32CubeMX完成USB配置_第9张图片

  •  打开生成的工程文件夹:

Visual Studio 开发STM32实现USB虚拟串口功能——方法2 使用stm32CubeMX完成USB配置_第10张图片

Visual Studio 开发STM32实现USB虚拟串口功能——方法2 使用stm32CubeMX完成USB配置_第11张图片

  •  打开Keil工程目录如下:

Visual Studio 开发STM32实现USB虚拟串口功能——方法2 使用stm32CubeMX完成USB配置_第12张图片

 Visual Studio 开发STM32实现USB虚拟串口功能——方法2 使用stm32CubeMX完成USB配置_第13张图片

  • 如果想用keil开发的话,直接把这个keil工程编译下载进板子,就可以直接使用了,你会发现PC端出现了USB虚拟串口的com口;

  • 如果想把这个现成的Keil工程转移到visual studio下开发,请往下看:按照方法一的过程新建项目工程

  • Visual Studio 开发STM32实现USB虚拟串口功能——方法2 使用stm32CubeMX完成USB配置_第14张图片

Visual Studio 开发STM32实现USB虚拟串口功能——方法2 使用stm32CubeMX完成USB配置_第15张图片

 

Visual Studio 开发STM32实现USB虚拟串口功能——方法2 使用stm32CubeMX完成USB配置_第16张图片

  • 右键项目名称,选择 “Visual GDB project Properties”,出现如下图:

    Visual Studio 开发STM32实现USB虚拟串口功能——方法2 使用stm32CubeMX完成USB配置_第17张图片

  •  直接编译下载,pc就可以识别USBcom口了。

  • 至于用什么收发函数方法三再说。当然你也可以直接用usbd_cdc_if.c文件中自带的收发函数CDC_Receive_FS和CDC_Transmit_FS

你可能感兴趣的:(STM32)