本帖最后由 shebeique 于 2012-7-11 15:17 编辑
最近在用STM32 开发USB键盘时遇到如下问题:
STM32 USB开发的键盘,在系统正常运行时,LED指示灯工作正常,但在BIOS下,按Num键和Caps键,LED灯无反应,确定在BIOS下键盘有功能,并能发送相应的数据,如上下左右等,且按下Num和Caps键后,另一个键盘相应的LED也亮,说明能正常发送编码
小弟分析原因可能是:1.在BIOS下,PC输出数据是通过端点0用SET_REPORT传输吗?因为开启了端点1的输出功能,在系统工作下,用BUSHOUND能抓取输出数据;2.报告ID有影响吗?在传输中,传输了不同的数据类型,用了报告ID方式实现的,不知道是否有影响;3.STM32 USB库中,对HID设备数据输出时并未考虑SET_REPORT(如JoyStick中Joystick_Data_Setup函数),此部分是否有影响?
以上为自己想的,可能不对,初学USB,很多问题不清楚。
另外,用的是JoyStick的例程改的。看了一下usb_prop.c文件中,感觉写的不是很全,对于如SET_IDLE等没有加入进去,求指教!
不胜感激! |