libusb(.NET)开源项目使用小结
更多细节请参考官方帮助文档
1,修改设备类型为自己的标识
InfWizard项目里,改掉资源文件LibUsb-Win32-LUDN.Driver.Resources。
原来的三处libusb-win32 devices改为自己想显示的名词,由于是资源文件,故字符数相同是最简单的改法。
然后编译好这个驱动配置工具,发布给客户用,测试通过。
设备类型下的设备名和制造商,如果是中文,则会乱码, 可能是编码问题,待以后需要的时候解决。目前设置为英文+拼音保护自己版权即可。
使用此驱动配置工具可以强制把HID设备改为自己定义的,而生成的驱动配置文件要正常使用,则下位机报告符和设备符自定义,不弄成HID等系统可以识别的设备就行了。
第一次安装驱动时写入注册表,后面驱动资源信息再修改,不会更新注册表保存的信息,需要手动删除注册表相关项。
-------------------------------------------------------------------------------------------------------
未知的USB设备都可以用它来安装驱动
然后就可以通过后面的设备信息、数据读写来进行操作了。很好很强大
2,libusb--USB设备信息读取
参考 show.info项目,读取设备描述符和配置描述符。
只要用InfWizard安装了设备,就可以用它来读取了。
3,libusb 上位机轮询读取数据
根据PID和VID来读取数据
/*---------------有坑注意!-----------------------------------*/
/*这里要看实际是传来多少byte.比如读的是鼠标报告4字节,就是4 */
/*注意!下位机传输数据太快,会丢失数据,因为没有握手,即使去掉打印函数,也会丢失。在下位机模拟法数据夹100ms肯定不丢,具体延迟多少待定*/
/*-------------------------------------------------------*/
/*这里要看实际是传来多少byte.比如读的是鼠标报告4字节,就是4 */
/*注意!下位机传输数据太快,会丢失数据,因为没有握手,即使去掉打印函数,也会丢失。在下位机模拟法数据夹100ms肯定不丢,具体延迟多少待定*/
/*-------------------------------------------------------*/
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?