STM32上电复位不正常但手动复位正常

2019-12-22 13:44发布

本帖最后由 bg6agf 于 2017-9-29 17:54 编辑

出了一个奇葩的问题。想办法没想出头绪。请各位上眼
做了个STM32F103VET6的板子。弄了个USB IAP。再用IAP下用户程序

现象:上电复位 用户程序不工作。但是按一下RESET。用户程序正常工作。
上电进IAP 。再从IAP转用户。正常

自己写了一个超级简单的闪烁灯程序。上述现像是没有的,上电工作正常。。但是现在就是想不通什么样的问题会出现这样的现象。

IAP里是这样设定的
如果看门狗复位。直接进用户APP
如果 是软件复位。进IAP
如果按住某按键。进IAP。


我用另外一个最简单的用户程序测试。上电是正常的。所以应该不是硬件的问题了。。说复位电路问题的应该可以PASS了。不可能复位电路对不同的程序不一样吧?


在论坛里搜索了一下。。说是UART 的RX 浮空干扰。于是我把UART先屏蔽了。问题好像解决了。

屏蔽了一部分代码。但是貌似还是不行。。。上电还是不工作。手动复位就能工作。简单的代码能工作。没想通什么样的程序对复位敏感。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
15条回答
CoolBird007
1楼-- · 2019-12-23 05:59
这个现象很常见,我也遇到过,感觉是开了某个外设后就这样子,然而看了很多人的现象,都不一样的。
我的是SPI,换了驱动就好了。
dz20062008
2楼-- · 2019-12-23 11:08
你的iap电路是不是用流控信号控制stm复位?这个电路是不是影响了上电复位。usb to ttl芯片要始终通电,开关只是用来控制stm32,先断开对复位的控制试试是不是每次都可以开机。而且复位电路需要加二极管来消除快速多次连续开机造成不复位问题。
lsx007
3楼-- · 2019-12-23 15:23
复杂的程序 用到了中断? 中断向量有没有重新定向
cemi
4楼-- · 2019-12-23 18:26
 精彩回答 2  元偷偷看……
bg6agf
5楼-- · 2019-12-23 23:23
cemi 发表于 2017-9-30 11:38
我也碰到类似的问题,现在也搞不清楚究竟是什么问题,现在通过强制修改相关的外设寄存器好像没问题了,不过 ...

你改了什么寄存器?我现在还没有定位到具体的问题语句。。。。代码是用STM32CUBE生成的。。
cemi
6楼-- · 2019-12-24 05:05
bg6agf 发表于 2017-9-30 17:35
你改了什么寄存器?我现在还没有定位到具体的问题语句。。。。代码是用STM32CUBE生成的。。 ...

我的问题是有些外设上电复位不正常手动复位就正常,并且不正常的外设不是固定的。我后来是那个外设不正常,每次使用该外设的时候就强制把该外设相关的配置寄存器写入我想要的值。

一周热门 更多>