本帖最后由 jyl518-283289 于 2018-9-11 15:25 编辑 CPU: STM32F103VBT6 开发环境:STM32CubeMX 1、USB功能选择 Human Interface Device Class(HID), 其它配置默认,并且配置正常情况下,PC能够正确识别到USB设备。 2、若将USB功能选择Custom Human Interface Device Class(HID), 其它配置默认,并且配置正常情况下,重新生成MDK程序 PC不能正确识别USB设备,PC显示不能安装设备驱动, 设备管理器显示黄色感叹号USB设备 如下图: 我的USB配置均为默认情况下: 为什么Custom Human Interface Device Class(HID)不能被PC识别(难道STM32CubeMX生产就是这样的), 而 Human Interface Device Class(HID)却可以被PC识别?? 请大神指点一二!! |
没有谁规定HID设备就一定不需要驱动呀!
只有HID鼠标、键盘、游戏手柄,等是免驱的,可以自动安装驱动。
能在人体学这类中出现未知设备,已经表明它就是HID设备了。
评分
查看全部评分
问题是现在STM32发不出数据
发不出数据也正常呀,发数据是要用户自己写的。配合自己的驱动及应用程序来操作的。
默认只会给你生成USB设备连接时的枚举信息,并且上电时可以发出枚举信息,与上位机交互后识别为HID设备。
几年前我的第一个用STM32做的项目就是用CubeMX生成的VCP接口,结果长时间通讯后会突然无法通讯,然后USB无法通讯了。当时用的是直接用树莓派控制单片机reset的方法对付过去的。
后来用ChibiOS重写了,ChibiOS在USB VCP这块封装处理的很好,然后就没有出现无法通讯的问题了。
再到今天用libopencm3,重新好好看了一下圈圈的玩转USB和black magic probe的代码,才终于理解了USB通讯的一丢丢细节和这些库的处理框架。
现在让我用STM32做USB的东西,就不会是点几下鼠标,然后听天由命了。
评分
查看全部评分
您好,我也遇到了类似的问题,我选的直接就是HID,但是显示由于“该设备有问题,Windows 已将其停止。 (代码 43)”,您能告诉我一下,您是怎么解决的吗
同问,