打印

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

[复制链接]
8064|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 | 只看该作者
有没有什么办法能知道跑哪里了?

使用特权

评论回复
5
香水城| | 2010-7-5 15:42 | 只看该作者
重新上电就可以?楼上说的有这可能性,可惜的是我没有接出JTAG口来,看不到它跑到哪里去了!
wpca 发表于 2010-7-5 15:30


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

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


除了使用调试器以外,一般没有什么好办法。

使用特权

评论回复
6
wpca|  楼主 | 2010-7-5 15:51 | 只看该作者
程序跑飞后,断电后重新上电程序就复位正常,按复位键复位不正常,STM32的按键复位跟上电复位默认的寄存器值不一样吗?

使用特权

评论回复
7
香水城| | 2010-7-5 16:04 | 只看该作者
对于MCU而言,断电复位与按键复位没有太大区别,主要区别是按键复位不改变RAM内容,而断电后RAM内容被破坏。

但对于系统而言,断电的时候,系统所有部分都复位了,而按键复位只能复位MCU,不能复位系统中其它部分。

使用特权

评论回复
8
hgjinwei| | 2010-7-5 20:46 | 只看该作者
那是否会对外设复位?
如果不复位,那程序就要自己复位了。不然死翘了。

使用特权

评论回复
9
电子电路ABC| | 2010-7-5 22:05 | 只看该作者
会不会是周边的电路,比如供电部分出问题了,断电重来后,某些电容暂时可以正常工作

使用特权

评论回复
10
hgjinwei| | 2010-7-5 22:11 | 只看该作者
我猜是复位初始化程序没有写好,我以前也试过,在电源电压处于临界时经常出错。

使用特权

评论回复
11
香水城| | 2010-7-6 10:02 | 只看该作者
那是否会对外设复位?
如果不复位,那程序就要自己复位了。不然死翘了。
hgjinwei 发表于 2010-7-5 20:46


芯片的复位会对片内外设复位(除了片内RTC和后备寄存器),但不对片外外设复位。

使用特权

评论回复
12
HotWC3| | 2010-7-6 10:51 | 只看该作者
软件硬件都有问题~~~

使用特权

评论回复
13
BitFu| | 2010-7-6 12:18 | 只看该作者
对于MCU来讲按键复位和上电复位都是一样的
这两种复位都会复位CPU和片内所有外设
有一点不同就是,掉电复位后RAM数据都会丢失,而按键复位后RAM不会改变
要注意在程序中没有初始化和复位时未清零(这个要编译器决定)的变量值会对两种复位是不一样的结果。

使用特权

评论回复
14
haohaozhuzhu| | 2010-7-6 14:34 | 只看该作者
换个按钮复位芯片保证好,用带开门狗的706吧

使用特权

评论回复
15
haohaozhuzhu| | 2010-7-6 14:35 | 只看该作者
这种问题以前遇到过,用PM811就是复位不完全,换了MAX706就好了

使用特权

评论回复
16
hgjinwei| | 2010-7-6 18:33 | 只看该作者
还是老老实实将所有用到的全局变量初始化一遍。估计程序也没写好,出现死锁了。

使用特权

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

本版积分规则

4

主题

25

帖子

0

粉丝