- 论坛徽章:
- 0
|
一个类似传感器的设备,用usb线连接到电脑上,在windows下通过查看资源管理器可以看到被识别为人体学输入设备。
在Mac(10.4.9的系统)下通过Xcode自带的USB Prober和IORegistryExplorer都可以看到设备的注册信息,部分注册信息是:
VendorID / ProductID : 0x10C4 / 0x0001
Usage Page : 65280(0xFF00)
Usage : 1(0x1)
比如一个串口设备,首先调用open()函数打开设备文件,然后调用write()函数来发送数据,如发送一个‘r‘,只需要write(fd,"r",1),就可以了,读取数据调用read()函数。
此设备接入电脑后也需要发送一个指令,一个字节的数据(比如'm'),使其开始工作,然后它会把采集到的数据传回。
我在苹果官网上下了一个HID Manager Basics的示例代码,改下usage page为62580、usage为1就可以读到这个设备的所有信息,但是无法发送数据和接收数据。请问哪位高手能够告诉我,通过调用哪些函数可以向其发送数据(比如一个字符“m”)和接收数据,不胜感激!
上面是我昨天发的帖子的内容,我测试了,无法用usb的方法读写数据,在打开设备的时候会提示打开设备失败,我在google上搜到这个问题好像是usb设备的唯一性造成的(在接入后就被系统打开,所以用户无法再用系统函数open()。而且这个设备不是标准的设备,我在HID Managr Basics程序下使用IOHIDQueue是创建和打开都成功,但是无法使用(*queue)->addElement(queue,elementCookie,0)是失败,请问非标准的HID设备读写数据可以使用Queue吗?还是使用IOHIDTransaction类?
急切寻求高手给予帮助,谢谢!!!! |
|