求一个好用的C#的USB-HID的类,最好带有Demo
1:论坛找了一个:https://www.amobbs.com/forum.php?mod=viewthread&tid=5706390&highlight=HID这个也是根据之前坛友做的,但是简单测试后,发现有些bug:只能发送64字节,而且:部分情况下搜索不到:HID的SerialNumber。同时存在:只能打开一次,如果关闭,再打开则会报错。
当然,上面的是暂时找到相对较好的了。里面代码修改下,日后应用问题不大!
2:据说Libusb的HID,还要安装驱动,本来用HID就是为了免驱的,所以尽量还是不要用吧?
3:HID如此通用,为什么微软不像串口一个,在C#中集成一个HID的类?方便我们使用?还是我太菜了?
4:找了一个微软的关于HID的库(好像是),但是研究了几个小时,不知道怎么用的,好像还不错:https://docs.microsoft.com/en-us/uwp/api/windows.devices.humaninterfacedevice HIDSharp 可以尝试一下,就是最新版本添加了一些 BLE 的内容后显得有点乱了
https://www.zer7.com/software/hidsharp
https://www.nuget.org/packages/HidSharp/
还有一个 Device.Net, 上手可能比 HIDSharp 麻烦些,调用都是 async/await 的
https://github.com/MelbourneDeveloper/Device.Net
https://www.nuget.org/packages/Device.Net/
wudicgi 发表于 2019-11-22 11:23
HIDSharp 可以尝试一下,就是最新版本添加了一些 BLE 的内容后显得有点乱了
https://www.zer7.com/software ...
谢谢,请问需要安装什么吗?期望编译出的程序在大多windows直接用就好 可以参考libusb https://www.amobbs.com/thread-5597693-1-1.html?_dsign=f57d537b 这是我当时问的,一直在用 zzh90513 发表于 2019-11-22 15:21
https://www.amobbs.com/thread-5597693-1-1.html?_dsign=f57d537b 这是我当时问的,一直在用
谢谢,不过我C#不太好。
你当初选择的不是窗体应用吧?
请问有窗体应用的程序吗?另外问下:你C#是怎么学的?我完全自学,比较懵~ zzh90513 发表于 2019-11-22 15:21
https://www.amobbs.com/thread-5597693-1-1.html?_dsign=f57d537b 这是我当时问的,一直在用
我运行出来,只看到了这个。所以不明白怎么用的。
本帖最后由 zzh90513 于 2019-11-22 15:41 编辑
SUPER_CRJ 发表于 2019-11-22 15:32
我运行出来,只看到了这个。所以不明白怎么用的。
我也是没学过C#,只不过做的usbhid设备客户需要C# dll驱动,临时从坛友求了一个,上面就是我帖子中稍微调整下界面,VID和PID在程序内修改,C#添加简单内容还是很方便的,这个dll带热插拔识别,还是很好用的 zzh90513 发表于 2019-11-22 15:40
我也是没学过C#,只不过做的usbhid设备客户需要C# dll驱动,临时从坛友求了一个,上面就是我帖子中稍 ...
谢谢,这段时间我研究下! SUPER_CRJ 发表于 2019-11-22 15:30
谢谢,不过我C#不太好。
你当初选择的不是窗体应用吧?
请问有窗体应用的程序吗?另外问下:你C#是怎么学 ...
USB2550HidTest 这个我用过,印象中是用到了 WinForm 的消息处理机制,所以必须要有个窗体,后来不用了
HIDSharp 我现在在用,觉得还可以,Device.Net 最近在尝试用于 WinUSB 设备
LibUsbDotNet 你可以看下 github 上的 commit 历史,一直是半年多一年多不更新,然后就有一个月猛更新,感觉不太可靠的样子
libusb 库本身没什么好评价的,但 LibUsbDotNet 这个 C# wrapper 现在真是觉得不好用
wudicgi 发表于 2019-11-22 16:28
USB2550HidTest 这个我用过,印象中是用到了 WinForm 的消息处理机制,所以必须要有个窗体,后来不用了
...
好的,你们是大神!我现在的只会做含有窗体应用的,刚看了HIDSharp,也许是比较好的库,编译出现什么:含有生成dll。。。什么的,想想留给日后使用了!先把项目做起来! wudicgi 发表于 2019-11-22 11:23
HIDSharp 可以尝试一下,就是最新版本添加了一些 BLE 的内容后显得有点乱了
https://www.zer7.com/software ...
ble,可以操作dongle和2650这种蓝牙芯片通信么,提供数据收发接口么? justdomyself 发表于 2019-11-23 16:51
ble,可以操作dongle和2650这种蓝牙芯片通信么,提供数据收发接口么?
HIDSharp 的 BLE 没用过
我还是 BLE 刚出来不久的时候 (Android v4.3) 的时候写的相关 C# 程序,用的是 BLED112 这种把 BLE 的 HCI 通过串口暴露出来的 dongle, PC 端有专门的通信控制库
现在 BLE 开发应该可用的库多了不少,可以都试试,一般都有 demo 程序
wudicgi 发表于 2019-11-23 18:01
HIDSharp 的 BLE 没用过
我还是 BLE 刚出来不久的时候 (Android v4.3) 的时候写的相关 C# 程序,用的是 B ...
我用的也是串口dongle,我现在的程序都是分析串口指令,然后照着发送实现的,好苦逼啊 LibUsbDotNet不错,各种的例子都有,包括异步的。 zzh90513 发表于 2019-11-22 15:40
我也是没学过C#,只不过做的usbhid设备客户需要C# dll驱动,临时从坛友求了一个,上面就是我帖子中稍 ...
有一个问题想问下:
如果一个USB上有两个相同的产品,也就是VID与PID相同,怎么处理,我看这个例程只是根据VID与PID来实现,可以改成,再增加序列号吗? zzh90513 发表于 2019-11-22 15:40
我也是没学过C#,只不过做的usbhid设备客户需要C# dll驱动,临时从坛友求了一个,上面就是我帖子中稍 ...
你好,现在已将这个用在了项目上了,还有些不稳定。后期这边我再慢慢改。
现在就想问下:现在生成的exe文件,必须依赖UsbHid.dll这个文件,既然有源码,可以不可以不需要这个dll文件,感觉是个多余的,只需要最后用一个exe文件就可以了! SUPER_CRJ 发表于 2019-12-11 15:52
你好,现在已将这个用在了项目上了,还有些不稳定。后期这边我再慢慢改。
现在就想问下:现在生成的exe文 ...
静态编译进去就行吧,之前做MFC就有静态编译和动态编译 zzh90513 发表于 2019-12-11 17:10
静态编译进去就行吧,之前做MFC就有静态编译和动态编译
没有发现静态编译,最后用:Imerge,官方微软软件合并的,谢谢!
zzh90513 发表于 2019-12-11 17:10
静态编译进去就行吧,之前做MFC就有静态编译和动态编译
你好,使用了一段时间,发现使用体验不是很好,不知道是哪里的问题:
我使用的单片机程序,收到电脑发来的数据,就会进行返回数据。
用其它的调试HID的软件,几乎没有问题。
1:一开始只要通信上,以后就没有问题。
2:刚连接上第一次发送数据,好像不成功,而且几次都不成功。多等待几次的时候就可以了。
3:用给的Demo和我自己的软件也发现:刚打开软件的时候,会接收到上次发送的剩下的数据。
4:关于通信不成功,本来想使用调试模式查看的,但是一旦进入调试模式,这个问题就一次都没有出现。。
页:
[1]