使用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)
函数等待下一次数据的到来。