文件名称:HID实验-基于opencv的圆形标记点的提取
文件大小:1.21MB
文件格式:PDF
更新时间:2024-06-30 07:04:32
USB HID
8.6 HID实验 本节介绍通过高级接口实验台进行的一个 HID编程实验。 在 USB设备软件的开发过程中,借助于一些工具软件的测试会对 USB设备的信息获 取和通信过程又更深入的理解。USB测试软件有很多,如 USBView、BusHound等,下 面针对一个具体的 HID设备的 API通信软件的开发,对这两个工具软件作一简单介绍。 高级接口实验台中,有一个 HID实验,在该实验中,实验台通过固件软件设计了一个 简单的 HID仿真设备,在 PC的 API通信软件的开发过程中,可以借助 USB工具软件对 实验台的 HID设备进行测试。 8.6.1 获得描述符 将高级接口实验台通过 USB电缆与 PC连接后,在实验台上通过菜单选择 HID实验, 实验台显示器显示器上会显示 HID实验界面。 实验台的 HID实验是一个为了学习 HID编程而专门设计的一个简单的 HID仿真设备, 设备中设计了 8个寄存器(R1~R8),可以通过 USB接口与主机交换数据。其中 R1和 R2两个寄存器只是数据存储单元,主机可以对这两个寄存器进行附值,也可以读取寄存 器的值。寄存器 R3~R8构成了一个日期和时钟,6个寄存器的值分别表示年、月、日、时、 分、秒。时钟在当前值的基础上运行,可以通过主机对时钟进行设置,也可以读取当前的 时钟值。 在实验台上设计了自动回传功能,如果自动回传打开,时钟每一秒向主机传送一次报 ‘ 函数声明 Public Declare Function HidD_GetFeature Lib "hid.dll" ( _ ByVal HidDeviceObject As Long, _ ByRef ReportBuffer As Byte, _ ByVal ReportBufferLength As Long ) As Long ‘ 调用 Result = HidD_GetFeature( _ HidDevice, _ ‘ 由 CreateFile函数返回的设备句柄 ReadBuffer(0), _ ‘ 输出缓冲区首地址 CLng(Capabilities.FeatureReportByteLength) ‘ 特征报表长度字节数 ) ‘ 函数声明 Public Declare Function CloseHandle Lib "kernel32" ( _ ByVal hObject As Long _ ) As Long ‘ 调用 Result = CloseHandle(HidDevice)