level 5
胖罐子胖摔Ω
楼主
各位大神好,我使用的芯片是STM32F407ZGT6。我将它枚举成为一个带有两个BULK端点(端点1为IN,2为OUT)的USB设备。
我加载的驱动是微软提供的WINUSB,使用其提供的函数WinUsb_ReadPipe来读取设备发送过来的数据。
不过在发送了从设备获取数据的命令后。我发现设备是完成了数据的发送的(进入了XFRC中断,说明数据已经发送完成)。但是从主机这边却没有受到数据。
其中端点1的FIFO设为了0xFF0。
以下是我主机这边获取数据的代码:

很奇怪的是,如果我不把端点作为BULK,而是INTTERUPT的话,就可以正确发送。
请问这可能是什么原因呢?
2015年03月23日 14点03分
1
我加载的驱动是微软提供的WINUSB,使用其提供的函数WinUsb_ReadPipe来读取设备发送过来的数据。
不过在发送了从设备获取数据的命令后。我发现设备是完成了数据的发送的(进入了XFRC中断,说明数据已经发送完成)。但是从主机这边却没有受到数据。
其中端点1的FIFO设为了0xFF0。
以下是我主机这边获取数据的代码:

很奇怪的是,如果我不把端点作为BULK,而是INTTERUPT的话,就可以正确发送。请问这可能是什么原因呢?