打印
[STM32F1]

stm32 host hid 键盘 能枚举,可以动作了,但是不稳定!!2分钟左右会掉,,无法响应按键..

[复制链接]
1900|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
yuino|  楼主 | 2014-7-30 13:57 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
stm32 host hid 键盘 能枚举,但是不稳定!!插入usb键盘后, 2分钟左右会掉,无法响应键盘按键....
搞到我现在每30s给一个NVIC_SystemReset(); 才能重启后重新枚举.....重新响应按键......
这到底什么原因 啊,2分钟左右会掉   ,我不想用NVIC_SystemReset(); 来解决问题啊,,这个是不是办法的办法...
发现掉了以后,主程序还是会跑的,但是就无法响应usb 键盘的动作了(按键)
求版主建议,先谢谢了..
沙发
香水城| | 2014-7-30 15:55 | 只看该作者
用的什么程序?

通常,键盘主机会以一定的时间间隔定期发送IN令牌来从键盘设备获得键盘敲击的信息。

你说主机程序还是会跑的,但是要确定主机还能定期发送IN令牌。这点确认的话,就要跟踪主机发送IN令牌后,从设备的反馈如何?

如果设备因为异常没有回复键盘敲击的信息,会有相应的其他状态返回,这个可以从主机的中断状态中去检查。

置于设备为何没有回复数据信息,而是非ACK的其他状态信息,就要问键盘设备自己了。

使用特权

评论回复
板凳
icecut| | 2014-7-30 16:35 | 只看该作者
呵呵.host难做.难在必须买硬件协议分析仪

使用特权

评论回复
地板
想做大牛的小马| | 2014-7-30 16:41 | 只看该作者
香版主分析的有道理,在没有响应的时候看看while循环里的gstate,跟一下看看~

使用特权

评论回复
5
香水城| | 2014-7-30 16:49 | 只看该作者
icecut 发表于 2014-7-30 16:35
呵呵.host难做.难在必须买硬件协议分析仪

ice老兄,最近加了你的蚂蚁河技术,多多推出好**啊:)

使用特权

评论回复
6
yuino|  楼主 | 2014-7-30 17:04 | 只看该作者
用的是v2.1.0的库中的 USB_Host_Examples 中的 hid工程USBH_HID.uvproj;和STM32_USB_HOST_Library中的HID 类的程序.
请问香主,在host usb中有超时相关的参数吗,有的话怎么设置,我现在怀疑是这个问题引起的.
香主ls的建议我还没有去做,也有点无从下手的感觉.不过我会尽力去跟踪看看.
关于键盘主机会以一定的时间间隔去定期发送in令牌包,这个时间间隔长短可否设置?

使用特权

评论回复
7
香水城| | 2014-7-30 17:39 | 只看该作者
yuino 发表于 2014-7-30 17:04
用的是v2.1.0的库中的 USB_Host_Examples 中的 hid工程USBH_HID.uvproj;和STM32_USB_HOST_Library中的HID  ...

主机以怎样的时间间隔去发送IN令牌包,由于这是个Interrupt类型的传输,设备对应端点是interrupt类型,因此会在它的设备描述符里告诉主机该以怎样的间隔来轮询它。

置于程序里对Host发送IN令牌,对回复有无超时机制,我忘了,要去看看代码,明天回答你吧。

使用特权

评论回复
8
icecut| | 2014-7-30 19:57 | 只看该作者
香水城 发表于 2014-7-30 16:49
ice老兄,最近加了你的蚂蚁河技术,多多推出好**啊

我看见了...总要去遇到大家讨论什么,才能找个话题写.争取把想到的好东西都写出来.

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

4

主题

14

帖子

1

粉丝