This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

BULK USBBUFFER 来不及清空



程序用USB把AD采样结果打包传输到上位机,每包字节长度64字节。上位机是同学写的labview程序。在1k采样率约每秒2K的传输速率时候数据能正常发送。但是采样率5K,甚至更高的时候会出现

ui32Space = USBBufferSpaceAvailable(&g_sTxBuffer);越来越小由256 逐次减64直到减到0,导致没有足够的发送空间使数据发送出去,但是过几个包后buffer又多出64字节空间,然后又能发送一包数据。

用的是TM4C1294芯片,USB模块主要参考 USB_DEV_BULK.C程序,做了一些修改。理论上USB发送数据,发送完USBbuffer会清空,为什么会出现这种清不空的情况。5K的采样率时发送速率应该是10K左右,芯片的默认USB1.1模式传输速率肯定是够的。

想问下为什么会出现这样的现象,如何解决。