打印

关于STM32F芯片不能复位的情况

[复制链接]
9354|16
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
最近几个月一直在用STM32F103VC VB等系列的单片机,但是一直有一个问题困扰,就是有的单片机不能正常复位,必须重新上电程序才能从头执行,应该算作是上电复位,但是手动复位一直没有反应,片子的其他功能正常,不知道大家有没有遇到过这样的情况!
沙发
香水城| | 2012-5-16 17:35 | 只看该作者
手动复位是怎么操作的?

使用特权

评论回复
板凳
xsgy123| | 2012-5-16 18:58 | 只看该作者
LZ是怎么手动复位的

使用特权

评论回复
地板
sjnh| | 2012-5-17 08:06 | 只看该作者
像是存在未初始化就是用的变量了,可能上电状态是一个固定的可以使用的值,手动复位时是保持最后使用时的值
看看编译的时候有没有提示。

使用特权

评论回复
5
weicz| | 2012-5-17 09:20 | 只看该作者
你手动复位硬件连接是什么样的啊

使用特权

评论回复
6
dww123456|  楼主 | 2012-5-17 11:21 | 只看该作者
2# 香水城 按下复位按键,把RESET引脚拉低,进行复位。无论我按下多长时间一直是不能复位,用万用表测量RESET引脚显示是低电平。

使用特权

评论回复
7
香水城| | 2012-5-17 11:30 | 只看该作者
一直是不能复位的具体现象是什么?

LZ位说:“手动复位一直没有反应,片子的其他功能正常”,没有反应是什么意思?怎么判断的?

使用特权

评论回复
8
dww123456|  楼主 | 2012-5-17 11:34 | 只看该作者
   上图为实际电路图纸,按下复位按键后程序不能复位

使用特权

评论回复
9
香水城| | 2012-5-17 13:59 | 只看该作者
具体现象是什么?

使用特权

评论回复
10
i55| | 2012-5-17 14:09 | 只看该作者
估计是IIC总线锁死。
用了三年半STM32了,RESET变低然后变高内核不能运行的情况一次也没遇到过。
但是I2C总线锁死是复位解决不了的,只能重新上电。

STM32的IIC真是单片机世界里面的一朵奇葩。

使用特权

评论回复
11
香水城| | 2012-5-17 14:59 | 只看该作者
估计是IIC总线锁死。
用了三年半STM32了,RESET变低然后变高内核不能运行的情况一次也没遇到过。
但是I2C总线锁死是复位解决不了的,只能重新上电。

STM32的IIC真是单片机世界里面的一朵奇葩。 ...
i55 发表于 2012-5-17 14:09


如果IIC总线锁死是由于I2C设备引起的,复位MCU当然解决不了!不单是MCU解决不了,任何MCU都解决不了。

使用特权

评论回复
12
killalljp| | 2012-5-17 16:56 | 只看该作者
感觉象是复位下载指示电路的问题,断开发光二极管试试!

使用特权

评论回复
13
dww123456|  楼主 | 2012-5-18 13:19 | 只看该作者
12# killalljp 与发光二极管没有关系,发光二极管连接与否都一样不能复位!

使用特权

评论回复
14
dww123456|  楼主 | 2012-5-18 13:37 | 只看该作者
9# 香水城 操作很简单啊!流程这样:1.单片机下载进程序,(我用的是JLINK V8 下载的)
2.USART5串口打印日志输出
3.按下复位按键几秒钟后松手。

这时候单片机应该复位打印初始化的一些日志,但是单片机没有复位,依然执行现有的程序。

使用特权

评论回复
15
香水城| | 2012-5-18 14:22 | 只看该作者
这样,你找一个不用的IO口,从VDD经过一个电阻接一个LED至这个IO口,在main()的开始初始化这个I/O口为OD输出,输出'0'把LED点亮,在程序运行期间保持LED点亮状态。

当按下复位按键时LED应该熄灭,只有复位后程序重新从main开始执行,LED才会再次被点亮。

通过上述操作可以准确判断是否复位成功;我怀疑你的程序中有问题,不是单片机没有复位,而是复位之后没有正确"打印初始化的日志"。

使用特权

评论回复
16
liwei028| | 2013-12-23 15:29 | 只看该作者
我现在也遇到这种问题,用的STM32F101R8,内部晶振,启用了看门狗 Iwatchdog,外围电路:有IIC接口的EEprom;有虚拟的IIC接周立功的7290数码管、按键芯片;有控制输出电路驱动继电器;有遥信输入电路(光耦隔离)。后来又在外部增加加入了看门狗ISL88706IB831Z
1.上电时,我按住boot0使为高电平,运行出厂下载程序,我的用户程序不能运行,放开boot0,为低电平,外部看门狗复位,自动进入我的用户程序,数码管显示。
2.但运行过程中,控制输出,控制输出电路带来干扰,可能传到输入电路了。我的产品死机,不能自动复位正常,示波器显示看门狗复位输入脚有脉冲E:\1.jpg

使用特权

评论回复
17
candidates001| | 2016-10-21 11:44 | 只看该作者
不知道是不是串口串流至单片机,导致单片机处于电压临界值附近,导致无法复位,把串拔掉,再试试能不能复位;或者换一个串口调试助手试试也行

使用特权

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

本版积分规则

个人签名:DWW 坚持就是胜利 770784441

0

主题

42

帖子

1

粉丝