STM32F103C8T6的USB虚拟串口实现

STM32F103C8T6的USB虚拟串口实现

1.实现步骤

本文所提到的所有软件、驱动、代码百度网盘链接:https://pan.baidu.com/s/1B0saxl1ZasKtwc22umoY4A 提取密码:1ff0

  1. 电脑安装VCP_V1.4.0_Setup.exe

  2. 在工程文件夹下新建USB文件夹,拷贝官方USB驱动库相关代码

  3. USB文件夹下新建CONFIG文件夹存放Virtual COM相关代码

  4. 进入工程,新建分组USB_CORE和USB_CONFIG,按图所示添加.c文件

    STM32F103C8T6的USB虚拟串口实现_第1张图片

  5. 按图所示添加头文件路径

头文件路径

2.性能测试

include "sys.h"
#include "delay.h"
#include "usart.h" 
#include "led.h" 		 	 
#include "lcd.h" 
#include "usb_lib.h"
#include "hw_config.h"
#include "usb_pwr.h"	 
int main(void)
{	 
 	u16 t;
	u16 len;	
	u16 times=0;    
	u8 usbstatus=0;	
	delay_init();	    	  
	NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);	
	uart_init(115200);	 	
	SystemInit();
	LED_Init();		  		
	delay_ms(1800);
	USB_Port_Set(0); 	
	delay_ms(700);
	USB_Port_Set(1);	
 	Set_USBClock();   
 	USB_Interrupts_Config();    
 	USB_Init();	    
	while(1)
	{
		if(usbstatus!=bDeviceState)
		{
			usbstatus=bDeviceState;
			if(usbstatus==CONFIGURED)
			{
				LED1=0;//DS1ÁÁ
			}else
			{
				LED1=1;//DS1Ãð
			}
		}
		if(USB_USART_RX_STA&0x8000)
		{					   
			len=USB_USART_RX_STA&0x3FFF;
			for(t=0;t

拷贝上面代码到主函数后,烧录,用USB将STM32连接电脑,查看设备管理器是否连接成功。若失败则为代码问题,仔细检查。然后利用一位大佬写的测速软件测速即可(代码只写了下行测试)。

MATLAB的温度曲线串口处理脚本与实时画图小白
1.https://blog.csdn.net/weixin_39092315/article/details/116334084
STM32F103C8T6+FreeRTOS+USART1、3
2.https://blog.csdn.net/weixin_39092315/article/details/116329689
在STM32上实现FuzzyPID(理论与代码实现)
3.https://blog.csdn.net/weixin_39092315/article/details/116382016
STM32F103C8T6及其系列的FreeRTOS移植
4.https://blog.csdn.net/weixin_39092315/article/details/108343954
初识STM32与其选型
5.https://blog.csdn.net/weixin_39092315/article/details/115432035
STM32的HAL库实现定时器TIM6和计算方法
6.https://blog.csdn.net/weixin_39092315/article/details/115432035

你可能感兴趣的:(STM32的软硬件设计,stm32,usb)