1、当发送结束(设备收到ACK)时,有一个发送结束中断,这个中断由USB库处理,并通过EP1_IN_Callback这个回调函数交由用户程序确认。
2、查询这个端点的状态,如果端点状态处于EP_TX_VALID,说明发送未结束,如果端点状态处于EP_TX_NAK,说明发送结束。使用下述调用可以得到端点1的发送状态:GetEPTxStatus(ENDP1)。
usbhid是Human Interface Device的缩写,由其名称可以了解HID设备是直接与人交互的设备,例如键盘、鼠标与游戏杆等。不过HID设备并不一定要有人机接口,只要符合HID类别规范的设备都是HID设备。
交换的数据存储在称为报表(report)的结构内,设备的固件必须支持HID报表的格式。主机在控制与中断传输中传送与要求报表,来传送与接收数据。报表的格式非常有d性,可以处理任何类别的数据。
设备除了HID接口之外,它可能同时还包含有其他的USB接口。例如影像显示设备可能使用HID接口来做亮度,对比,与更新率的软件控制,而使用传统的影 像接口来传送要显示的数据。USB扩音器可以使用实时传输来播放语音,同时使用HID接口来控制音量,震荡,与低音等。HID接口通常比传统的控制接口来得便宜。
直接把USB链接起来,然后找到该设备号,填写进去直接发送即可。你的采纳是我前进的动力,还有不懂的地方,请继续“追问”。
如你还有别的问题,可另外向我求助;答题不易,互相理解,互相帮助。
HidDevHandle = CreateFile (strtDetailData->DevicePath,GENERIC_READ | GENERIC_WRITE,
FILE_SHARE_READ | FILE_SHARE_WRITE,
NULL,
OPEN_EXISTING,
FILE_FLAG_OVERLAPPED,
NULL)
bResult = WriteFile(hDevice,
&PC_DSPBuffer[0],
64, &numBytesReturned,
(LPOVERLAPPED) &HidOverlapped)
其中:strtDetailData->DevicePath就是HID的路径。
bResult返回总是0。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)