阅读:1108回复:1
请大侠们急救!!!
尊敬的各位大侠:
你们好!首先谢谢你们的关心与指教! 我所遇到的问题是:设备(PDIUSBD12)只能传输低于或者等于64B的数据,即不能连续传数据。 如果在计算机上要读大于64B的数据,单片机可以接收到要读数据的个数,但D12不能产生中断,并且第一个包(64B)也不能收到。 在传输少于64个数据的时候,在vendor_request的函数(即在驱动程序中定义的urb,变为FIRMWARE中的函数)中必须向D12缓冲写两次同样的数据,才能传到计算机里面,或者在main_txdone里面写同样的数据到D12的缓冲里面。这样才产生中断,使得下一次可以顺利的读数。 如果在vendor_request的函数中只向缓冲写一次数据,在main_txdone里面不向D12缓冲写数据,那么在下一次读数据时,就什么也读不上来。并且这两次都不会产生中断。 麻烦你们帮我分析一下问题最有可能出在什么地方?这个问题已经困扰我一个月了没有任何进展。 谢谢了! |
|
|
沙发#
发布于:2002-01-10 22:54
为什么PDIUSBD12这么烦,要两次中断?
|
|