如何在Mac环境下使用带有objective-c的USB / HID端口?

时间:2009-12-03 18:33:09

标签: objective-c cocoa usb hid

通过USB进行通信,从Mac到外部HID设备,我遇到了大麻烦。在Windows XP平台下运行时,硬件已被证明是好的,但我找不到用Cocoa / objective-C编程HID的好例子。 Apple中心提供了几个例子,但它们要么记录不清,要么太复杂(对于具有混合目标C和C的软件,使文件难以理解),或者不是最新的。好吧,我必须说我不是软件专家而是硬件电子工程师! 到目前为止,我可以枚举USB端口,使用HID Apple的工具识别我的设备(我读取PID和VID),但我很难发送报告和/或从外部设备读回报告。 如果你们中的一个人使用了新的Apple的HID API并且可以分享一些知识,我将非常感谢。 另一方面,是否有任何“USB间谍”工具与Apple的OSX一起运行? 非常感谢你的帮助

迈克尔

2 个答案:

答案 0 :(得分:1)

您不会为HID找到Objective-c接口。至少,不仅仅是一个包装器。由于动态绑定和延迟消息传递,Objective-c不太适合编写与时间相关的任务,如设备驱动程序或与之通信。你将不得不在C工作。

Apple资源:Accessing Hardware From ApplicationsHID Class Device Interface Guide将是您最好的资源。 This tech note也提供了很好的概述。

Apple System Profiler将扫描您的USB链,以查看硬件本身可见的设备。

Edit01:

无法相信我忘了/Developer/Applications/Utilities/IORegistryExplorer.它会为您提供整个硬件树的详细分类。

答案 1 :(得分:1)

所以是的,你将不得不潜入并写下C而不是Objective-C来做你的事。

幸运的是,还有一个额外的Apple资源可以让USB / HID管理器变得更容易。

请参阅 the HID Utilities Sample/Library from Apple