打印
[STM32F4]

stm32F4做USB主控外接鼠标出现DTERR错误

[复制链接]
1082|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
T-arm|  楼主 | 2017-8-23 10:25 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 T-arm 于 2017-8-23 10:31 编辑

      现在我用的是STM32F407做主控外界USB鼠标,用的代码也是正点原子的程序,在他的USB鼠标的例程里有一段程序是对USB出现DTERR错误的处理,每次出现DTERR错误需要整个USB重启然后从新建立连接,这样处理就会出现鼠标卡顿的情况,我现在则是把OTG_FS_GRSTCTL这个寄存器的RXFFLSH 寄存器写1后延时一小段时间写0,不从新建立连接这样以来就会出现一旦出错鼠标就卡死了。不知道论坛里有那位找到了解决的办法,希望能帮我解答。
沙发
mmuuss586| | 2017-8-23 12:18 | 只看该作者
那你卡死后,再重启建立连接好了

使用特权

评论回复
板凳
T-arm|  楼主 | 2017-8-23 14:11 | 只看该作者
mmuuss586 发表于 2017-8-23 12:18
那你卡死后,再重启建立连接好了

从新建立确实可以解决,但是从新建立时间不段,人会感觉到鼠标卡住不动,而且出现DTERR错误的频率也不低。会让人感觉时不时的鼠标会卡一下。我的想法是能不能清除出错的寄存器或者复位寄存器,不要从新建立,让人不会有卡顿的感觉。

使用特权

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

本版积分规则

5

主题

15

帖子

0

粉丝