电子技术论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3425|回复: 2

STM32的电源复位和引脚复位

[复制链接]

624

主题

627

帖子

416

积分

专栏作家

Rank: 25Rank: 25Rank: 25Rank: 25Rank: 25Rank: 25Rank: 25

积分
416
发表于 2015-4-15 11:14:44 | 显示全部楼层 |阅读模式
STM32的电源复位和引脚复位
在调试程序的时候,发现仿真的时候程序一切运行正常,当重新上电后,程序运行不正常

具体现象如下:
1、确定是进入while(1)了,因为有程序运行的秒闪灯在闪烁
2、应该是MCU无法正常收到的24L01的命令(无法驱动4094片子的继电器动作)
3、当手动把复位引脚的电平拉低后,程序便运行正常了

调试方法如下:
1、怀疑是硬件复位电路的问题,但是确实是普通的阻容复位,没看出来多大的问题
2、用软件复位,上电运行第一次先进行软件复位,第二次正常运行,不知道怎么设置标志位
  系统复位将复位除时钟控制寄存器CSR中的复位标志和备份区域中的寄存器以外的所有寄存器
  1、备份区域中的寄存器
  1.    if(BKP->DR1!=0X5050)
  2. {
  3. SCB->AIRCR = (u32)0x05FA0000 | (u32)0x04;
复制代码

备份区域中的寄存器在没有电池供电的情况下,软件复位后,寄存器的值仍然会丢
2、复位除时钟控制寄存器CSR中的复位标志
  1. if( (RCC->CSR >> 28) == 0 )
  2.   {   
  3.      SCB->AIRCR = (u32)0x05FA0000 | (u32)0x04;
  4. }
复制代码

确实能软件复位了,但是没起到应有的效果
3、有没有可能是无线模块的设置问题
4、由STM32内部复位电路可知,电源复位和软件复位

复位电路

复位电路

0

主题

63

帖子

907

积分

初级技师

Rank: 8Rank: 8

积分
907
发表于 2016-4-13 08:59:19 | 显示全部楼层
  谢谢楼主技术分享

1

主题

7

帖子

16

积分

论坛学徒

Rank: 2

积分
16
发表于 2019-1-16 08:39:30 | 显示全部楼层

感谢楼主的分享。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|电子技术论坛 ( 鄂ICP备09003585号-2 )

GMT+8, 2019-2-20 06:18 , Processed in 0.057214 second(s), 14 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2018 Comsenz Inc.

快速回复 返回顶部 返回列表