信誉时时彩平台
当前位置:主页 > 应用产品 > hid路灯 >
c hid通信协议

  Windows使用HID通信相对比较简单,HID都是通过PID、VID信息来★▽…◇查找连接的,相比于串口,几乎无变化,连接无需人工选择,十分方便,也不需要驱动。

  本实例将HID接口分成3层,支持自动连接、断开状态通知,异步收发数据,单个数据包大小为64bytes(因为从设备的数据包设定为64bytes,保持一●致)。

  接口分为两层,第一层将create file、read file、write ▲★-●file封装,第二层再封装自动连接、异步收发。

  注意,这里所有数据都是64bytes,但是有用数据并非这么多,所以设定为第一个数据为后面数据实际长▪…□▷▷•度,若需要修改定义,请在HIDInterface.cs的Send与HidDataReceived函数中修改处理方法即可。

  如果您真想做这方面的东西,还是稍微研究下,没有现成的好类用,就需要自己了解其原理

  //有些USB设备其实有很多HID设备,就是一个△▪▲□△接口上有几个设备,这个时候需要

  //用inde★◇▽▼•x++来逐个循环,直到获取设备返回false后,跳出去,把获取的设备

  //路径全记录下来▷•●就好了,我这里知道具体设备号,所以没有循环,浪费我时间

  OK,如果只是获取USB传过来的数据,这里已经足够了,但是有点要注意,2000和XP如果要获取HID键盘和鼠标的数据,readfile是不行的,;

  如果你是其他HID类设•●备,比如游戏手柄或者自定义HID设备,都可以用上面的方式来收发数据,

  怎么访问我暂时也不知道,估计要用△▪▲□△它方法,看到有些软件是用截取的手段,估计是用钩子了吧。。

  还有获取报文长度的代码,如果不确定报文长度,或者为了驱动适应变化,就用一下代码来确定报文的长度

  C#与USBHID接口的通讯相对于与串口间的通讯较为复杂,其中需要多次调用到Windows的一些API。其原理编者尚未全部理清,以下提供简单的USBHID通讯流程。(参考网友资料)

  2.通过获取到的HID全局GUID来获取包含所有HID接口信息集合的句柄。

  二话不说,直接给代码,如果您真想做这方面的东西,还是稍微研究下,没有现成的好类用,就需要自己了解其原理

  //有些USB设备其实有很多HID设备,就是一个接口上有几个设备,这个时候需要

  /◆▼/用index++来逐个循环,直到获取设备返回false后,跳出去,把获取的设备

  //路径全◇•■▼▲★▼记录下来就好了,我这里知道具体设备号,所以没有循环,浪费我时间

  //○▲-•■□定于句柄序号和一些参数,具体可以去网上找这些API的参数说明,后文我看能不能把资料也写上去

  //注意字节的长度,我这里写的是★-●=•▽8位,其实可以通过API获取具体的长度,这样安全点,

  OK,如果只是获取USB传过来的数▽•●◆据,这里已经足够了,但是有点要注意,2000和XP如果要获取HID键盘和鼠标的数据,readfile是不行的,;

  如果你是其他HID类设备,比如游戏手柄或者自定义HID设备,都可以用上面的方式来收发数据,

  怎么访问我暂时也不知道,估计要用它方法,看到有些软件是用截取的手段,估计是用钩子了吧。。

  还有获取报文长度的代码,如果不确定▲●…△报文长度,或者为了驱动适应变化,就用一下代码来确定报文的长度

  原文:C#与USB HID间的通信 C#与USBHID接口的通讯相对于与串口间的通讯较为复杂,其中需要多次调用到Windows的一些API。其原理编者尚未全部理清,以下提供简单的USBHID通讯流程。(参考网友资料)一、获取所有连接HID的设备信息。1.通过一个空的GUID来获取HID的全局GUID。GuidHIDGuid=Guid.Empty;...

  作者:xidongs转自:二话不说,直接给代码,如果您真想做这方面的东西,还是稍微研究下,没有▼▼▽●▽●现成的好类用,就需要自己了解其原理//引用空间using System;using System.Collections.Generi

信誉时时彩平台

Copyright © 2002-2017 信誉时时彩平台有限公司 版权所有| 网站地图 | 网站导航 琼ICP备95666621号 咨询热线:029-66889777