Mac环境上的USBHIDMANAGER HID,GetReport()和SetReport()
-
25-10-2019 - |
题
我们正在尝试与USB Hiddevice进行交流。该设备在Windows中正常工作,我们可以在其中发送报告并使用报告 WriteFile()
和 ReadFile()
.
在Mac上,我们正在尝试使用 setReoprt()
和 getReport()
. 。但 getReport()
不是返回任何数据,而是错误。
应用程序中有什么错?
解决方案
为了利用异步行为,必须将使用getAsynceventsource获得的事件源添加到运行循环中。
上面的注释是SetReport评论的一部分。您可能需要先学习Mac OS中Runloop的Runloop机制。
由于无法解释这里的机制。当您熟悉时,以下功能和订单可能会帮助您编码 Runloop。(尝试在Google中搜索“ cfrunloop”)
cfrunloopgetCurrent();
cfrunlooprun();
cfrunloopaddsource(cfrunloopref rl,cfrunloopsourceref源,cfstringref模式);
cfrunloopstop(cfrunloopref rl);(我通常在回调方法中调用此功能)
不隶属于 StackOverflow