我们正在尝试与 USB HIDDevice 通信。WriteFile()
该设备在 Windows 中运行良好,我们可以使用和发送报告并返回报告ReadFile()
。
在 Mac 上,我们正在尝试使用setReoprt()
和与设备交互getReport()
。但是getReport()
没有返回任何数据,而是一个错误。
申请中有什么问题?
我们正在尝试与 USB HIDDevice 通信。WriteFile()
该设备在 Windows 中运行良好,我们可以使用和发送报告并返回报告ReadFile()
。
在 Mac 上,我们正在尝试使用setReoprt()
和与设备交互getReport()
。但是getReport()
没有返回任何数据,而是一个错误。
申请中有什么问题?
为了利用异步行为,必须将使用 getAsyncEventSource 获取的事件源添加到运行循环中。
上面的注释是setReport的注释的一部分。你可能需要先学习Mac OS中Runloop的runloop机制。
因为这里不可能解释机制。当您熟悉RunLoop时,以下功能和命令可能会帮助您编码。(尝试在 google 中搜索“CFRunLoop”)
CFRunLoopGetCurrent();
CFRunLoopRun();
CFRunLoopAddSource(CFRunLoopRef rl, CFRunLoopSourceRef 源, CFStringRef 模式);
CFRunLoopStop(CFRunLoopRef rl);(我一般在回调方法中调用这个函数)