本帖最后由 无帝老三 于 2017-6-12 18:49 编辑
使用USB虚拟串口官方例程修改
/**
* @brief CDC_Transmit_FS
* Data send over USB IN endpoint are sent over CDC interface
* through this function.
* @note
*
*
* @param Buf: Buffer of data to be send
* @param Len: Number of data to be send (in bytes)
* @retval Result of the operation: USBD_OK if all operations are OK else USBD_FAIL or USBD_BUSY
*/
uint8_t CDC_Transmit_FS(uint8_t* Buf, uint16_t Len)
{
uint8_t result = USBD_OK;
/* USER CODE BEGIN 7 */
USBD_CDC_HandleTypeDef *hcdc = (USBD_CDC_HandleTypeDef*)hUsbDeviceFS.pClassData;
//if (hcdc->TxState != 0){
// return USBD_BUSY;
//}
USBD_CDC_SetTxBuffer(&hUsbDeviceFS, Buf, Len);
result = USBD_CDC_TransmitPacket(&hUsbDeviceFS);
/* USER CODE END 7 */
return result;
}
当调用5次CDC_Transmit_FS发送数据时,PC端串口会接收不到最后一次调用CDC_Transmit_FS发送的数据,
当再次执行上述操作时,前次操作未上传的数据会出现再本次操作的第一条。
请问下大家,是什么原因导致的?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
一周热门 更多>