修改接收函数:
static int8_t CDC_Receive_FS(uint8_t* Buf, uint32_t *Len)
{
/* USER CODE BEGIN 6 */
USBD_CDC_SetRxBuffer(&hUsbDeviceFS, &Buf[0]);
USBD_CDC_ReceivePacket(&hUsbDeviceFS);
//memcpy(USB_DR_TmpBuffer, Buf, *Len);
USB_DR_TmpLength = *Len;
USB_Reveive_Flag=1;
return (USBD_OK);
/* USER CODE END 6 */
}
把接收到的数据发送显示
if (USB_Reveive_Flag==1)
{ uint8_t Rxbuf[USB_DR_TmpLength];
USBD_CDC_SetTxBuffer(&hUsbDeviceFS,UserRxBufferFS,USB_DR_TmpLength);//
//USBD_CDC_SetTxBuffer(&hUsbDeviceFS, &i, 10);//UserTxBufferFS
USBD_CDC_TransmitPacket(&hUsbDeviceFS);
USB_Reveive_Flag=0;
}
问题:安装了VCP1.40的驱动程序,设备管理器那边还是黄色叹号。 显示该设备无法启动。 (代码 10)
解决:1.startup_stm32fxxxxx.s系统启动文件里的Heap_Size EQU 1000
2. VCP驱动安装过后,你在设备管理器窗口下去更新驱动,然后再到软件的安装目录下去找。 2. 在VCP的安装目录下面去,点击一个exe才算是安装了VCP驱动。。。 比如: C:\Program Files (x86)\STMicroelectronics\Software\Virtual comport driver\Win7
|