阅读:1522回复:8
请教版主与众位大侠!
USB Host端需要得到device的状态,firmware将status data送走后,就清掉status buffer直到device有状态改变才会填充status buffer,而Host不停的读(要求的长度固定1024字节),当buffer中没有数据,Host就在那儿死等。请问host端or Device端该怎么处理才能避免这种情况?
如果host端read的时候,能否在driver里设一个timeout,如果可以,该怎么做? status buffer中没有数据时,这时应该是device状态没有改变,firmware该怎么回以便让host端知道状态没有改变。 多谢! |
|
沙发#
发布于:2001-10-11 21:28
请教斑竹:
当host端需要读取数据时,如果device端buffer中没有数据,device应该回应什么才能让host知道没有数据,返回读取字节数0?(我的driver如果收到device回应的NAK,会一直在那儿傻等。) 如果要读取的字节数大于buffer中的字节数,是不是firmware应该在buffer数据尾部加一个结束符或者device回NAK? (我用得是D12的芯片) 谢谢! |
|
板凳#
发布于:2001-10-12 11:51
你可以定义自己的协议处理这些问题。
实际数据没有请求的那么长,也没有关系,你就直接送过去好了,不会出错的。 |
|
|
地板#
发布于:2001-10-12 16:45
如果我的buffer中
|
|
地下室#
发布于:2001-10-13 09:35
[QUOTE]原本由 panson 发表
[B]如果我的buffer中 |
|
|
5楼#
发布于:2001-10-13 11:34
[QUOTE]原本由 DK-boy 发表
[B][QUOTE]原本由 panson 发表 [B]如果我的buffer中 |
|
6楼#
发布于:2001-10-14 11:01
[QUOTE]原本由 panson 发表
[B]如果我的buffer中 |
|
|
7楼#
发布于:2001-10-19 15:07
请问怎么给大家散分?
|
|
8楼#
发布于:2001-10-23 11:26
在第一个贴子下面有“给分“按钮
|
|
|