打印
[STM32F4]

USB HID设备出现重复断开又重连的问题

[复制链接]
3567|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
hzt1234hf|  楼主 | 2016-9-24 14:52 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
stm32F405RG的芯片,我直接将PA11和PA12连到USB-DM和USB-DP上了,不知直接连可以不,需不需要加什么芯片?
程序使用CubeMx生成,其中中有3个TIM中断,每秒钟总共中断大约2000次,其中使用了printf函数(1s用一次),fputc已经重定义到串口,串口波特率115200,在这种情况下运行时就会发生USB断开连接又重新连接,而且更奇怪的是跟printf函数的频率一致,即1s出现一次这种情况,如果我注释掉TIM中断中的printf函数或者提高波特率(设置为840000),就没有上述情况了,首先我看了下优先级,三个TIM优先级都是主2子1,USB优先级默认主0子0,USB应该会中断TIM的中断优先去执行,printf函数应该不会影响到USB,所以现在就想不到问题的原因了,所以想和大家一块讨论下这个问题,虽然可以通过提高波特率解决但还是想知道为什么会发生这种情况
沙发
yiyigirl2014| | 2016-9-24 16:07 | 只看该作者
不会是USB接口供电不足吧,我的部分USB设备就是供电不足,总是无法识别

使用特权

评论回复
板凳
hzt1234hf|  楼主 | 2016-9-24 17:40 | 只看该作者
yiyigirl2014 发表于 2016-9-24 16:07
不会是USB接口供电不足吧,我的部分USB设备就是供电不足,总是无法识别

不应该啊,我的是USB供电的,如果供电不足芯片应该会Reset的,但是并没有啊

使用特权

评论回复
地板
icecut| | 2016-9-25 11:37 | 只看该作者
每秒中断2000次.真的很牛X啊....软件问题

使用特权

评论回复
5
jekey| | 2016-9-25 14:48 | 只看该作者
中断中的printf消耗时间太长,影响usb的中断响应。
想办法把prinf放到中断外吧。

使用特权

评论回复
6
hzt1234hf|  楼主 | 2016-9-25 19:31 | 只看该作者
icecut 发表于 2016-9-25 11:37
每秒中断2000次.真的很牛X啊....软件问题

2000次真的不多,168Mhz频率,能处理不少东西呢

使用特权

评论回复
7
hzt1234hf|  楼主 | 2016-9-25 19:33 | 只看该作者
jekey 发表于 2016-9-25 14:48
中断中的printf消耗时间太长,影响usb的中断响应。
想办法把prinf放到中断外吧。 ...

USB中断的优先级比tim的高,理论上TIM中断处理过程中如果有USB中断应该优先处理USB中断,不应该受影响的,除非printf中关闭了总中断

使用特权

评论回复
8
lefeng| | 2016-9-25 22:13 | 只看该作者
prinf应该在中断外的

使用特权

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

本版积分规则

6

主题

29

帖子

0

粉丝