STM32F107使用USB下 操作UART1引发Hardfault问题

本文描述了在STM32F107RCT6上遇到的一个问题:当使用UART1-TX(PA9)发送数据后立即进行USB操作会导致HardFault或PC端无法正确枚举USB设备。文中提出了两种解决办法:一是重新映射UART1-TX到其他IO口;二是如果继续使用PA9作为TX,在进行USB操作前增加500ms的延时。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

测试环境:

硬件:STM32F107RCT6 ,USB FullSpeed Device

软件:FreeRTOS,ST  的USB 库

 

这段时间在测试USB的时候(全速Device),出现一个问题:
只要是使用UART1--TX(PA9引脚)发送数据后,立马开始USB相关操作即会进入HardFault或者PC端枚举本USB设备失败。这个PA9引脚,也是和USB的power sensor公用的,尽管在软件里面已经禁用相关功能,但是依旧会引发该问题。

现在解决的方法是:

1,重新映射UART1-TX到其他IO口;

2,还是使用PA9作为TX,但是在操作USB前,确保有足够的延时(比如500ms)在用TX发送数据后。

转载于:https://my.oschina.net/u/2435819/blog/1519225

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值