HID数据传输问题!

[复制链接]
4515|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时将数据传给主机!
平常人 发表于 2013-1-9 20:47 | 显示全部楼层
回LZ位问题: 返回数据长度是0的数据。

2楼的问题看4楼。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

14

主题

194

帖子

8

粉丝
快速回复 在线客服 返回列表 返回顶部