×
单片机 > 单片机程序设计 > 详情

STM32 HAL库 USB CDC程序只能接收一次数据

发布时间:2020-05-18 发布时间:
|

使用STM32Cube生成了USB CDC基础代码,HAL库版本号为1.6.0


SELF_POWERED: ENABLE

Physical: interface phy_itface


将初始化好的代码编译下载到设备中可直接接入计算机,并安装stsw-stm32102-VCP软件,配置该软件目录下的stmcdc.inf文件将其中的VID和PID配置为与设备相同的ID号,然后安装32位或者64位dpinst程序即可成功安装驱动。 

stm32vcp程序实际上使用了windows的usbser.sys文件,因此使用精简版系统的需要自行安装usbser这个驱动文件。 

接下来打开串口助手,打开对应的串口号,发送一组数据。在设备的usbd_cdc_if.c文件中


static int8_t CDC_Receive_HS(uint8_t* Buf, uint32_t *Len)


函数够正确接收到数据,但是串口助手发送第二组数据时卡死,其原因在于设备接收完数据后,没有使用


uint8_t  USBD_CDC_ReceivePacket(USBD_HandleTypeDef *pdev)


函数等待下一次数据的到来。




『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
STM32中断向量表的位置.重定向