stmlib version :1.7.1
芯片STM32F407VG
外接晶振8M
使用了usart1 和 usbcdc
打开两个串口调试助手,在usb串口上发送数据,usb串口显示helloworld,usart1串口显示接收的数据,以及数据长度。
stm32_vcp_官方虚拟串口驱动程序:
stm32单片机 USB CDC代码如下:
- /* Includes ------------------------------------------------------------------*/
- #include "usart.h"
- #include "delay.h"
- #include "usbd_cdc_core.h"
- #include "usbd_usr.h"
- #include "usb_conf.h"
- #include "usbd_desc.h"
- #include "usbd_cdc_vcp.h"
- #include "usb_dcd_int.h"
-
- __ALIGN_BEGIN USB_OTG_CORE_HANDLE USB_OTG_dev __ALIGN_END ;
-
- int main(void)
- {
- u8 dat[12] = {"Hello world"};
- __IO uint32_t i = 0;
- NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//设置系统中断优先级分组2
- delay_init(168); //初始化延时函数
- uart_init(115200); //初始化串口波特率为115200
- printf("Hello world!\r\n");
- USBD_Init(&USB_OTG_dev,
- USB_OTG_FS_CORE_ID,
- &USR_desc,
- &USBD_CDC_cb,
- &USR_cb);
-
- /* Main loop */
- while (1)
- {
- if(USB_RecvieCount){
- printf("RecDatalen:%d Start TxData\r\n",USB_RecvieCount);
- APP_FOPS.pIf_DataTx(dat, 12);
- USB_RecvieCount = 0;
- }
- delay_ms(500);
- printf("USB_RecvieCount:%x\r\n",USB_RecvieCount);
- }
- }
复制代码
所有资料51hei提供下载:
STM32F4_USBCDC.rar
(11.77 MB, 下载次数: 160)
|