我在USB读取数据时用的是这个函数:
uint32_t USBHCDPipeRead(uint32_t ui32Pipe, uint8_t *pui8Data, uint32_t ui32Size);
发现如果缓冲区内没有数据还调用它的话 程序就进入死循环了,现在就是要读取大于64字节的不确定长度数据,读取的逻辑要怎么设计才能避免进入死循环?
程序大概是我这个主机发送指令,从机回复,但是数据长度不固定,大于64字节。
还有这个函数并不能正确读取uint32_t USBHCDPipeReadNonBlocking(uint32_t ui32Pipe, uint8_t *pui8Data,
uint32_t ui32Size);