首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

[求助]请教关于USB HID设备应用的问题

[求助]请教关于USB HID设备应用的问题

标准USB设备请求命令有标准请求、类请求、用户请求命令,HID设备在应用程序中可以用API的HidD_SetFeature、HidD_GetFeature函数处理USB设备的标准请求、类请求命令,我的问题是:
1、用户请求命令用API的那个函数来处理?
2、HidD_SetFeature、HidD_GetFeature只能处理标准的HID请求命令,那么用户请求命令在应用程序中用什么函数处理?
3、是不是只要固件有用户请求命令处理过程,就必须写设备驱动程序?HID设备也必须写驱动程序吗?
4、看到好多USB HID设备的例程的应用还要安装驱动程序,为什么?WINDOWS不是已包含HID设备驱动程序了吗?
5、API的ReadFile、WirteFile与HidD_SetFeature、HidD_GetFeature有什么区别?
先谢谢各位朋友!
谢谢maingao
但为什么飞思卡尔的应用例程RD68HC908USBSKEYSW是用HidD_SetFeature、HidD_GetFeature来与HID设备交换数据的?
以下是数据手册DRM013.pdf写的:
• Set KeyID through HID Set_Report (Input) command
• Get KeyID through HID Get_Report (Output) command
• Send challenge through HID Set_Report (feature) command
• Challenge result through HID Get_Report (feature) command
Command BmRequestType bRequest wValueL wValueL wIndex wLength Data
Set KeyID      $21                  $09          $00        $03         $00     $0008    KeyID
Get KeyID $21 $01 $00 $03 $00 $0008 KeyID
Send Challenge $21 $09 $00 $02 $00 $0008 Challenge
Get Challenge $21 $01 $00 $02 $00 $0008 KeyID
你说的没错!Windows DDK HID API 除了几个设置、获得HID设备信息的函数外,对输入、输出报告就用ReadFile、WirteFile这两个函数。
HidD_SetFeature、HidD_GetFeature也可以用来输入、输出报告,因没有提供源程序,所以看不明白这两个函数在固件里应该如何处理?特别是处理HidD_GetFeature这个函数。
返回列表