最近做了一块STM32F103R8T6的小板,遇到了挠头的硬件复位程序不运行问题,现象就是使用J-LINK仿真下载运行都没问题,把J-LINK彻底拔下来,板子上电程序不运行,自己分析是复位电路的问题,检查:
1.BOOT0 BOOT1下拉10K接地没问题。
2.VDDA VSSA直接接了VDD和VSS。
3.复位部分10K上拉后接0.1uF电容到地,测试拆掉10K和将0.1uF换为1uF结果也没变化。
4.STM32电源部分所有三组VDD VSS都已就近接了0.1uF去耦电容。
5.换了三种开关电源,现象没有变化。
6.怀疑8M晶振部分,程序改为内部8M也无果。
实在是想不到还有什么地方能够影响上电复位了,四五天了也没有找到具体的原因,焊了两块板,现象都一样,板子是嘉立创打样直接贴的阻容,三极管和STM32,请大家帮忙分析一下,这种外部复位不成功的情况,还会有什么能够产生这个问题的原因呢?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
Keil.jpg (37.91 KB, 下载次数: 0)
下载附件
2017-5-31 10:21 上传
原因是悬空的USART RXD的问题,在论坛里挖坟找到这个帖子:
https://www.amobbs.com/forum.php ... =%E5%A4%8D%E4%BD%8D ,
11楼有一个提示,和我的情况相同,我的TXR,RXD接WiFi模块,但是调试的时候没有焊接,按11楼的方法将启用的usart:
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10;
// GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;//浮空输入
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;//上拉输入
GPIO_Init(GPIOA, &GPIO_InitStructure); //初始化PA10
然后再反复上电几十次,完全正常,没有任何问题了,在这里谢谢大家的支持,也希望遇到同样问题的朋友们,看到此贴,能少走一些弯路。
只是有些想不明白,浮空的RXD竟然影响到上电复位,而且还这么严重,直接就是不启动,实在是不理解呀!
一周热门 更多>