首页 > 代码库 > STM32的电源复位和引脚复位
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;4 BKP->DR1 = 0X5050;5 }
备份区域中的寄存器在没有电池供电的情况下,软件复位后,寄存器的值仍然会丢
@2、复位除时钟控制寄存器CSR中的复位标志
1 if( (RCC->CSR >> 28) == 0 )2 { 3 SCB->AIRCR = (u32)0x05FA0000 | (u32)0x04;4 }
确实能软件复位了,但是没起到应有的效果
3、有没有可能是无线模块的设置问题
4、由STM32内部复位电路可知,电源复位和软件复位
这个问题确实很困惑,望高手指点啊 。。。。。。。
是不是很有可能是24L01模块儿的问题啊,在开发板上测试也不行,要不就是程序的问题,初始化设置有问题
STM32的电源复位和引脚复位
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。