CDC主机发送数据在大量数据传输的时候不能全部发送完全

所属分类:STM32F系列 浏览数:81 提问者:402227912 提问时间:2018-12-01
标签:stm32FCDCUSB

问:

在使用stm32f746开发板上使用CDC主机类USBH_CDC_Transmit函数连续发送大量数据有时候USBH_CDC_TransmitCallback不会有答复,CDC_HandleTypeDef *CDC_Handle 中的TxDataLength 一直不为0,代表没有发送完成, URB_Status = USBH_LL_GetURBState(phost, CDC_Handle->DataItf.OutPipe);一直带等待URB_Status == USBH_URB_DONE 状态,来发送一个包的数据


答:case CDC_SEND_DATA_WAIT: URB_Status = USBH_LL_GetURBState(phost, CDC_Handle->DataItf.OutPipe); /* Check the status done for transmission */ if (URB_Status == USBH_URB_DONE) 一直在这里等待
回答者:402227912 回答时间:2018-12-01

答:在发送少量数据时候还可以,但是数据量一大就出现不能把数据发送完成,一直带等待一个状态URB_Status == USBH_URB_DONE URB_Status = USBH_LL_GetURBState(phost, CDC_Handle->DataItf.OutPipe); 这个状态的要求达到了才会进行下一个包的数据传输,
回答者:402227912 回答时间:2018-12-01

登录后回答。
图书推荐
漫画半导体(高清版)

漫画半导体(高清版)

这是一本实用性很强的图书,,以漫画的形式更易于让人接受,边读故事边学知识,轻松且易于记忆。
算法心得:高效算法的奥秘

算法心得:高效算法的奥秘

本书给我们带来了一大批极为诱人的知识,其中包括各种节省程序运行时间的技巧、算法与窍门...
基于STM8S-无刷直流电机控制应用

基于STM8S-无刷直流电机控制应用

无刷直流电机是21世纪最有发展前景的新型电机之一。本书以STM8S单片机为控制核心...
广告