打印

HID数据传输问题!

[复制链接]
3709|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
快乐小小鱼|  楼主 | 2013-1-3 16:47 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
大家好,我有个问题不清楚,希望大家能指明:HID设备的通信是通过报表来实现的,报表是通过报表描符来解释每个报表数据的含义的。HID传输用的是中断传输,既是在固定的时间间隔(假如10MS)主机都会去读取USB设备的数据,但是如果做USB键盘,只有在键盘有键按下或者松开的时候才会有报表数据要去传输。这时候,键盘的主控应该返回给USB主机什么样的数据呢?是返回的数据,数据长度是0的数据,还是返回STALL的USB设备忙的信号呢?

相关帖子

沙发
快乐小小鱼|  楼主 | 2013-1-3 17:55 | 只看该作者
还有一个问题就是,USB的设备收到主机的I有些命令后,会传等待主机发送IN命令来传回数据,但是数据准备也需要时间,数据要在什么时候准备好写入到FIFO中呢?

使用特权

评论回复
板凳
john_lee| | 2013-1-4 09:19 | 只看该作者
本帖最后由 john_lee 于 2013-1-4 09:23 编辑

当host发出in token而device没有数据要发给host时,device需要返回NAK给host,表示device此时没有数据,这个操作通常是由device硬件自动完成的。
2楼的问题是一样的。

使用特权

评论回复
地板
LOVE_ELEC| | 2013-1-5 17:50 | 只看该作者
数据是在检测到键盘按下时,将对应的数据写入到FIFO中;或是在检测按键松开时写入。当下次主机发送IN Token时将数据传给主机!

使用特权

评论回复
5
平常人| | 2013-1-9 20:47 | 只看该作者
回LZ位问题: 返回数据长度是0的数据。

2楼的问题看4楼。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

14

主题

190

帖子

8

粉丝