正在做一个 DSP的项目,其中DSP是采用USB口与主机(电脑)相连,主要是在主机中有一批数据要通过USB口传到DSP进行处理(处理的算法事先设计好的),这里采用EZ-UsB FX2芯片处理,采用bulk传输,我遇到的问题是,当数据传到DSP里面处理时,由于不知道要处理多长时间才能处理好,主机也就不知道什么时候该收到这批数据,而这时主机如果用bulkRead来读取USB的数据时,由于DSP还没处理完毕即还未把数据传回给USB芯片的FIFO中时,所以此时主机端的应用程序便阻塞在bulkRead函数中了,应用程序便无响应了。
各位有没有什么解决办法啊?或者1.有什么办法可以即便DSP数据没准备好,他能够发个什么中断信号之类的通知主机等一段时间再接收数据吗?2.或者即使是阻塞了,此时有什么办法退出阻塞态吗?
补充一点我的应用程序比较简单就是用那几个IO控制码,即DeviceIoControl()函数