hi all:
用Cube工具生成了HID的项目文件,通过修改HID的报文和HID的HID_ReportDesc_FS,现在电脑上能够认出键盘了,并且,通过调用Cube中的HID_SendReport函数发送8个byte的键盘帧格式到电脑上也成功,但是问题来了,发送成功后由于没有及时发送无按键的状态,电脑上就表现为某个按键一直按下的效果,于是我尝试了以下几种解决方案,但是都失败了
1.HID_SendReport后直接发送8个byte全0的report,但是这样上位机同样表现为某个按键一直按下,未成功
2.在USBD_CUSTOM_HID_DataIn中把发送缓冲区中的数据改为0,参考注释这个函数应该是在发送完数据后调用的,但是还是不成功.
所以现在有几点比较不清楚
1.发送HID报文理应是调用HID_SendReport这个函数,但是调用完这个函数发送完报文之后有没有回调让我处理发送区数据?在键盘的应用中就是设置报文全部为0从而发送全0告诉电脑没有按键按下了(或者按键释放了)
2.HID描述中有一个间隔时间,是不是会定时发In包向Device请求HID报文,这样的话,是不是要在USB库中增加相应回调?
|