gpt4 book ai didi

objective-c - Mac环境下objective-c如何使用USB/HID接口(interface)

转载 作者:搜寻专家 更新时间:2023-10-30 20:26:35 28 4
gpt4 key购买 nike

我尝试在雪豹中实现一个应用程序,从 USB/HID 设备读取数据。在我的应用程序中,我尝试了以下步骤:

  1. IOHIDManagerCreate()
  2. 创 build 备匹配字典()
  3. IOHIDManagerSetDeviceMatching()
  4. IOHIDManagerOpen()
  5. IOHIDManagerCopyDevices()
  6. 为设备创建引用 (IOHIDDeviceRef)
  7. 基于 IOHIDDeviceRef 获取设备详细信息,例如(设备 ProductIDKey、设备供应商 IDKey、设备 ProductKey、设备序列号 key 、设备版本号 key 等)
  8. IOHIDDeviceOpen(),即:使用 IOHIDDeviceRef 打开设备;
  9. IOHIDDeviceCopyMatchingElements();即从设备复制匹配元素;
  10. 创建一个引用元素(即IOHIDElementRef);
  11. 使用 IOHIDElementRef 我检索了设备使用情况、设备 Cocookie、设备使用页面等。到目前为止,我的应用程序运行良好。

我的疑问是

  1. 如何从端点 1 读取数据,我的设备是只有一个端点(中断没有同步数据端点)的专用设备?
  2. 他们的任何管道是否与端点 1(HID 设备)关联?;
  3. 它们在基于 HIDManager 的应用程序中是否有任何 ReadPipe 和 WritePipe 函数?
  4. 是否可以使用 IOHIDDeviceSetReoprtWithCallback() 从 USB/HID 检索数据?

基于此链接所做的每一件事: http://developer.apple.com/library/mac/#documentation/DeviceDrivers/Conceptual/HID/new_api_10_5/tn2187.html#//apple_ref/doc/uid/TP40000970-CH214-SW7 ...

非常感谢您的帮助..

最佳答案

您正在尝试对非 HID 设备使用 HID 功能。HID 是人机接口(interface)设备。任何 HID 设备都必须符合“HID 设备类定义”。

我怀疑,您的设备不符合此规范。

因此您应该使用其他操作系统界面来使用您的设备。我建议使用 libusb .这是用于在低级别处理 USB 设备的跨平台库。它将允许您直接读/写您的端点。

关于objective-c - Mac环境下objective-c如何使用USB/HID接口(interface),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7684251/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com