作者a1781781781 (嘎了给给)
看板Python
标题[问题] USB descriptor 读取问题
时间Fri Sep 11 15:23:34 2020
各位大神好
最近在写usb的应用程式
作业系统是win10 python版本3.7
使用套件pyusb
遇到的问题是电脑对HID装置下set report(feature)改变装置内的设定
下Reset後有看到bus上是改变设定後的descriptor,但程式内读到的还是旧的
目前是写重新执行程式再读一次(os.excel),但这样实在很不方便,请问有人碰过类似状
况而且有其他解法的吗?
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 49.216.33.195 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Python/M.1599809016.A.53C.html
1F:→ kenduest: pyusb 在 windows 上没有处理热插拔等通知处理实作支援09/11 16:27
2F:推 kenduest: 或者是说没有提供装置异动时候 callback 处理实作支援 09/11 16:33
3F:→ a1781781781: No~~~~~怎麽会QQ09/11 21:32
4F:→ a1781781781: 但Backend选libusb1就会读到对的descriptor但对装置09/11 22:10
5F:→ a1781781781: 读写就会蹦出错误...09/11 22:10
6F:→ kenduest: 你不是说读到旧的吗?好像是新的问题,有错误看另外是09/12 12:20
7F:→ kenduest: 写什麽。09/12 12:20
用回文比较方便说明状况
我试过两种backend libusb0与 libusb1
libusb0
要用inf-wizard将HID装置在装置管理员下新增在libusb-win32的装置下pyusb就读得到,下
控制或读写也都正常,就是reset後读不到新的descriptor
libusb1
可以不用像libusb0这麽麻烦,不用额外安装什麽。但是下控制或读写读写会出现no implem
entation on this platform 或是Input/output error。若是先用libusb0下reset,再用li
busb1读会读到正确的descriptor
※ 编辑: a1781781781 (49.216.33.195 台湾), 09/12/2020 16:26:27
8F:→ MOONY135: 改变之後重握会好一点 10/12 14:01