求救:STM32程序跑飞后按复位键不能复位,只能上电复位

[复制链接]
9975|15
 楼主| wpca 发表于 2010-7-5 15:15 | 显示全部楼层 |阅读模式
哪位大侠碰到过类似的情况?能告诉我吗?因为我没有外接JTAG,所以比较郁闷!
香水城 发表于 2010-7-5 15:21 | 显示全部楼层
你怎么知道按复位键不能复位?为什么不是按复位键后又跑飞了呢?
 楼主| wpca 发表于 2010-7-5 15:30 | 显示全部楼层
重新上电就可以?楼上说的有这可能性,可惜的是我没有接出JTAG口来,看不到它跑到哪里去了!
 楼主| wpca 发表于 2010-7-5 15:31 | 显示全部楼层
有没有什么办法能知道跑哪里了?
香水城 发表于 2010-7-5 15:42 | 显示全部楼层
重新上电就可以?楼上说的有这可能性,可惜的是我没有接出JTAG口来,看不到它跑到哪里去了!
wpca 发表于 2010-7-5 15:30


"重新上电就可以"是什么意思?

有没有什么办法能知道跑哪里了?
wpca 发表于 2010-7-5 15:31


除了使用调试器以外,一般没有什么好办法。
 楼主| wpca 发表于 2010-7-5 15:51 | 显示全部楼层
程序跑飞后,断电后重新上电程序就复位正常,按复位键复位不正常,STM32的按键复位跟上电复位默认的寄存器值不一样吗?
香水城 发表于 2010-7-5 16:04 | 显示全部楼层
对于MCU而言,断电复位与按键复位没有太大区别,主要区别是按键复位不改变RAM内容,而断电后RAM内容被破坏。

但对于系统而言,断电的时候,系统所有部分都复位了,而按键复位只能复位MCU,不能复位系统中其它部分。
hgjinwei 发表于 2010-7-5 20:46 | 显示全部楼层
那是否会对外设复位?
如果不复位,那程序就要自己复位了。不然死翘了。
电子电路ABC 发表于 2010-7-5 22:05 | 显示全部楼层
会不会是周边的电路,比如供电部分出问题了,断电重来后,某些电容暂时可以正常工作
hgjinwei 发表于 2010-7-5 22:11 | 显示全部楼层
我猜是复位初始化程序没有写好,我以前也试过,在电源电压处于临界时经常出错。
香水城 发表于 2010-7-6 10:02 | 显示全部楼层
那是否会对外设复位?
如果不复位,那程序就要自己复位了。不然死翘了。
hgjinwei 发表于 2010-7-5 20:46


芯片的复位会对片内外设复位(除了片内RTC和后备寄存器),但不对片外外设复位。
HotWC3 发表于 2010-7-6 10:51 | 显示全部楼层
软件硬件都有问题~~~
BitFu 发表于 2010-7-6 12:18 | 显示全部楼层
对于MCU来讲按键复位和上电复位都是一样的
这两种复位都会复位CPU和片内所有外设
有一点不同就是,掉电复位后RAM数据都会丢失,而按键复位后RAM不会改变
要注意在程序中没有初始化和复位时未清零(这个要编译器决定)的变量值会对两种复位是不一样的结果。
haohaozhuzhu 发表于 2010-7-6 14:34 | 显示全部楼层
换个按钮复位芯片保证好,用带开门狗的706吧
haohaozhuzhu 发表于 2010-7-6 14:35 | 显示全部楼层
这种问题以前遇到过,用PM811就是复位不完全,换了MAX706就好了
hgjinwei 发表于 2010-7-6 18:33 | 显示全部楼层
还是老老实实将所有用到的全局变量初始化一遍。估计程序也没写好,出现死锁了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

4

主题

25

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部