阅读:1128回复:4
请大侠指点,小弟谢了先!
我的C51+D12的固件部分,如何通知端点使发送缓冲区的数送往pc,我看书没看明白,好像是送什么in 令牌,可能是有点头大吧。我猜应该就是1~2句话吧。。还请高人指点。
|
|
沙发#
发布于:2003-05-10 12:52
这很正常,刚开始可能会有些东西不明白,慢慢来
你的问题是这样的,usb设备是个从设备,它不会主动请求主机来读取数据或者送数据给主机,只能把数据准备好了等主机来取,或者接受主机发过来的数据。 在设备方,当你把一个端点填满后这个端点会自动生效,等待主机发送in令牌后数据会自动发走,不需要你来干预,如果你的数据不能填满端点,那有专门的控制寄存器来强制使端点生效,然后和前一种相同。 在主机方,当你用deviceioctl或者readfile命令来向设备请求数据时,底层驱动就会持续向设备发送in令牌,直到请求的所有数据都正确返回或者连续有三次错误产生为止 整个结构是这样的:上层应用程序要求数据in―>设备驱动程序构件相应的urb―>底层驱动usbd等来处理urb―>usb主机控制器向设备发送in令牌要求in数据传输―>(这之后的是设备方的工作)usb设备收发器把准备好的数据发送给主机。然后是前几步的逐级返回,最后由应用程序获得数据 上述内容可能有些地方表述不太准确,请高手赐教! |
|
板凳#
发布于:2003-05-10 13:42
jinghuiren大哥真是诲人不倦啊!!!!!!!
致敬!!!!!!!!!! |
|
地板#
发布于:2003-05-11 00:18
jinghuiren大哥真是诲人不倦啊!!!!!!! 小弟顿时霍然开朗了。。。。兴奋的开发中。。。 茫茫网海,多亏了您的指点呀!小弟有礼了。。。 90度鞠躬~! |
|
地下室#
发布于:2003-05-11 13:02
客气了,我当初还不是有大家的帮忙吗,应该的。
|
|