mathieu
驱动牛犊
驱动牛犊
  • 注册日期2006-04-25
  • 最后登录2010-01-30
  • 粉丝0
  • 关注0
  • 积分153分
  • 威望36点
  • 贡献值0点
  • 好评度15点
  • 原创分0分
  • 专家分0分
阅读:2287回复:5

连接上HID USB设备就让EndPoint1通过中断输入方式给Host发送数据

楼主#
更多 发布于:2008-01-24 16:33
我有个带USB功能的单片机,已经完成了USB初始化、枚举的过程,连接上USB设备后,设备可以向主机发送预先设好的数据来控制鼠标往某个方向移动。

现在我希望:连接上USB设备后,就让EndPoint1通过中断输入方式给Host发送特定的一系列数据用来启动vista 的MCE,具体发送什么数据我已经用分析仪捕获到了(大概二、三十行,每行5个字节)。

请问这个具体应该怎么实现?有什么思路?这个报告描述符应该怎么定义?应该定义为键盘或者是其他的什么?

当初向主机发送预先设好的数据来控制鼠标往某个方向移动时,只用在报告描述符里设置好,然后在相应的EndPoint Event发生时发送4个字节的数值就可以了。但是如何发送数据以启动MCE我现在还没思路,请大家指点下。

谢谢!
liaojf
驱动牛犊
驱动牛犊
  • 注册日期2005-12-18
  • 最后登录2008-03-20
  • 粉丝0
  • 关注0
  • 积分503分
  • 威望52点
  • 贡献值0点
  • 好评度50点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2008-01-24 17:21
VISTA知道是什么,但MCE是什么东西?
熟悉USB设备端
mathieu
驱动牛犊
驱动牛犊
  • 注册日期2006-04-25
  • 最后登录2010-01-30
  • 粉丝0
  • 关注0
  • 积分153分
  • 威望36点
  • 贡献值0点
  • 好评度15点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2008-01-24 23:36
MCE是Media Center Edition的简称,是VISTA的一个家庭娱乐中心
liaojf
驱动牛犊
驱动牛犊
  • 注册日期2005-12-18
  • 最后登录2008-03-20
  • 粉丝0
  • 关注0
  • 积分503分
  • 威望52点
  • 贡献值0点
  • 好评度50点
  • 原创分0分
  • 专家分0分
地板#
发布于:2008-01-25 11:57
具体发送什么数据我已经用分析仪捕获到了(大概二、三十行,每行5个字节)

那么,PC主机在读取描述符的过程也抓下来就可以了啊
熟悉USB设备端
mathieu
驱动牛犊
驱动牛犊
  • 注册日期2006-04-25
  • 最后登录2010-01-30
  • 粉丝0
  • 关注0
  • 积分153分
  • 威望36点
  • 贡献值0点
  • 好评度15点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2008-01-28 13:32
通过分析数据发现:Interface Descriptor的bInterfaceClass位没有设置成HID类(0x03),而是设置成了0xFF,spec上规定:If this field is set to FFH, the interface
class is vendor-specific.
由于它没有被设置成HID类,所以分析了整个枚举过程也没有找到Report Descriptor。
请问这个vendor-specific的类到底是什么意思,对固件有什么影响?
liaojf
驱动牛犊
驱动牛犊
  • 注册日期2005-12-18
  • 最后登录2008-03-20
  • 粉丝0
  • 关注0
  • 积分503分
  • 威望52点
  • 贡献值0点
  • 好评度50点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2008-01-28 15:21
vendor-specific的类  就是自定义的东西啊~~
熟悉USB设备端
游客

返回顶部