ZHCACO6A january   2011  – may 2023

 

  1.   1
  2. 1MSP430™ USB HID Windows API 编程人员指南
  3. 2引言
  4. 3实现
    1. 3.1 概述
    2. 3.2 文件组织
    3. 3.3 系统要求
    4. 3.4 MSP430 USB API 堆栈
    5. 3.5 Windows 如何将物理 USB HID 器件映射到主机应用程序
    6. 3.6 在系统上查找特定 HID 器件/接口并将其打开
    7. 3.7 发送/接收数据
    8. 3.8 检测 HID 器件的动态连接/断开
  5. 4函数调用参考
    1. 4.1 器件连接管理和初始化调用
      1. 4.1.1 VOID HID_Init(struct strHidDevice* pstrHidDevice)
      2. 4.1.2 DWORD HID_GetSerNums(WORD vid, WORD pid, struct strTrackSerialNumbers *serialNumList)
      3. 4.1.3 DWORD HID_GetNumOfInterfaces(WORD vid, WORD pid, DWORD numSerNums)
      4. 4.1.4 BYTE HID_Open(struct strHidDevice* pstrHidDevice, WORD vid, WORD pid, DWORD deviceIndex, char serialNumber[SERNUM_LEN], DWORD totalDevNum, DWORD totalSerNum)
      5. 4.1.5 BYTE HID_Close(struct strHidDevice* pstrHidDevice)
      6. 4.1.6 BYTE HID_GetVersionNumber(struct strHidDevice* pstrHidDevice, USHORT * VersionNumber)
    2. 4.2 发送/接收数据
      1. 4.2.1 BYTE HID_WriteFile(struct strHidDevice* pstrHidDevice, BYTE* buffer, DWORD bufferSize, DWORD* bytesSent)
      2. 4.2.2 BYTE HID_ReadFile(struct strHidDevice* pStrHidDevice, BYTE* buffer, DWORD bufferSize, DWORD* bytesReturned)
    3. 4.3 即插即用管理
      1. 4.3.1 BYTE HID_RegisterForDeviceNotification(HWND hWnd, HDEVNOTIFY* diNotifyHandle)
      2. 4.3.2 BYTE HID_UnregisterForDeviceNotification(HDEVNOTIFY* diNotifyHandle)
      3. 4.3.3 BOOL IsDeviceAffected(struct strHidDevice* pstrHidDevice)
  6. 5演示应用程序
  7. 6MSP430 USB 工具套件
  8.   HID 接口数据结构:strHidDevice
  9.   HID 数据管道器件上的报告格式
  10.   C 参考文献
  11.   C 修订历史记录

概述

图 3-1 显示了此 API 在 Windows 软件栈内的位置以及与 MSP430 器件上 USB HID API 的关系。

GUID-A0099FFC-70C9-4418-8DE0-3B8C82EFE9E0-low.gif图 3-1 Windows 和 MSP430 软件栈

该软件旨在与 MSP430 的 USB HID API 堆栈固件(特别是该 API 堆栈提供的数据管道接口)配合使用。该 API 堆栈与 Windows API 结合使用,使软件开发人员与 HID 报告分离开来,让开发人员可以将数据接口视为未格式化的数据流,类似于 COM 端口。

为了实现这种分离,数据管道接口实现了一个非常简单的 HID 报告结构,开发人员无需修改该结构。开发人员使用简单的命令来发送或接收任何大小的数据块,而 API 使用报告作为数据包来传输此数据。(有关数据管道接口的更多信息,请参阅 MSP430 USB CDC/HID API 堆栈编程人员指南。)