阅读:1329回复:2
请关注有关D12的问题
尊敬的各位大侠:
你们好!首先谢谢你们的关心与指教! 我所遇到的问题是:设备(PDIUSBD12)只能传输低于或者等于64B的数据,即不能连续传数据。是说计算机一次只能读低于的64B的数据 如果在计算机上要读大于64B的数据,单片机可以接收到要读数据的个数,但D12不能产生中断,并且第一个包(64B)也不能收到。 在传输少于64个数据的时候,在vendor_request的函数(即在驱动程序中定义的urb,变为FIRMWARE中的函数),完全正常 麻烦你们帮我分析一下问题最有可能出在什么地方?这个问题已经困扰我一个月了没有任何进展。 求求大家了,谢谢大家了! |
|
|
沙发#
发布于:2002-01-07 12:40
那句话的意思是:
我想在计算机里读取多少数据,这个总个数传到单片机里面,我好判断要给多少数啊,还有不要产生漏数还或者重复发数。 并且通过示波器可以看到当然要读<=64B时可以收到三个中断信号, 当>64B(无论多少数)时可以收到四个中断信号? 你看主要问题出在哪儿? |
|
|
板凳#
发布于:2002-01-07 11:31
不明白你所说的“单片机可以接收到要读数据的个数”是什么意思,通讯中单片机根本就不需要得到数据长度(至少在bulk传输中是如此――在下愚钝,还没有做过iso的传输),当用户驱动发给usb总线驱动的传输请求大于64字节(或用户预定的包最大长度)时,总线驱动自然会向设备产生多次传输请求,使设备产生多次中断(在每一次数据发送之后),总线驱动会自动在设备没有数据可传时中断传输。
|
|
|