STM32的三种复位类型和区分方法

最近在项目的时候需要判别stm32的复位类型,网上这部分资料也有许多大神进行总结。但是感觉不是特别深入,因此,小编参考参考了stm32的参考手册进行详细总结了一下。
1、stm32的三种复位类型分别为系统复位、电源复位和备份域复位。每一种型号的stm32都包含有这三种复位类型!
1.1、系统复位除了时钟控制寄存器 csr 中的复位标志和备份域中的寄存器外,
系统复位会将其它全部寄存器都复位为复位值,只要发生以下事件之一,就会产生系统复位:
nrst 引脚低电平(外部复位)窗口看门狗计数结束( wwdg 复位)独立看门狗计数结束( iwdg 复位)软件复位( sw 复位)低功耗管理复位1.1.1、软件复位要对器件进行软件复位,必须将 cortex™-m4f 应用中断和复位控制寄存器中的sysresetreq 位置 1,标准库和hal库默认都是置1的,软件复位的代码如下:
void nvic_systemreset(void){ __dsb(); scb- >aircr = ((0x5fa csr & 0x80000000))//低功耗复位标志 { printf(低功耗复位rn); } else if(0 != (rcc- >csr & 0x40000000))//窗口看门狗复位标志 { printf(窗口看门狗复位rn); } else if(0 != (rcc- >csr & 0x20000000))//独立看门狗复位标志 { printf(独立看门狗复位rn); } else if(0 != (rcc- >csr & 0x10000000))//软件复位标志 { printf(软件复位rn); } else if(0 != (rcc- >csr & 0x08000000))//上电/掉电复位标志 { printf(上电/掉电复位rn); } else if(0 != (rcc- >csr & 0x04000000))//引脚复位标志 { printf(引脚复位rn); } else if(0 != (rcc- >csr & 0x02000000))//bor 复位标志 { printf(bor复位rn); } rcc- >csr |= 0x01000000;//清除复位标志使用标准库的代码:
if(1 == rcc_getflagstatus(rcc_flag_lpwrrst))//低功耗复位标志 { printf(低功耗复位rn); } else if(1 == rcc_getflagstatus(rcc_flag_wwdgrst))//窗口看门狗复位标志 { printf(窗口看门狗复位rn); } else if(1 == rcc_getflagstatus(rcc_flag_iwdgrst))//独立看门狗复位标志 { printf(独立看门狗复位rn); } else if(1 == rcc_getflagstatus(rcc_flag_sftrst))//软件复位标志 { printf(软件复位rn); } else if(1 == rcc_getflagstatus(rcc_flag_porrst))//上电/掉电复位标志 { printf(上电/掉电复位rn); } else if(1 == rcc_getflagstatus(rcc_flag_pinrst))//引脚复位标志 { printf(引脚复位rn); } else if(1 == rcc_getflagstatus(rcc_flag_borrst))//bor 复位标志 { printf(bor复位rn); } rcc_clearflag();//清除复位标志3、复位和iap_load_app的区别发生复位,系统会记录一些标志信息。但是使用iap_load_app跳转到0x8000000的位置,系统会一直默认在执行。不会有复位的标志返回。如果在代码中使用iap_load_app来代替复位是可行的,即将复位函数nvic_systemreset();替换成iap_load_app(flash_base);即可。
此时rcc->csr寄存器为0。
if(0 == rcc- >csr) { printf(跳转rn); } rcc_clearflag();//清除复位标志 delay_ms(3000);

什么是CXL?一文了解高速互联技术CXL
小米MIX2S评测 绝对属于不该漏过的考虑对象之一
2018钴价或迎来新一轮涨价潮
AUTOSAR架构中复杂驱动设计
带PFC的开关电源作用介绍 浅谈带PFC的开关电源性能特点
STM32的三种复位类型和区分方法
电子芯闻早报:台积电或独享苹果A10大单
USB Type-C将彻底解决用户面临连接梦靥
中微爱芯携触摸MCU系列相关应用亮相2023AWE
4大仪器公司投7000万在武汉“拼实验室”
使用变频调速的十大好处
米聊复活了 能维持多久?
Gartner公司确定到2018年物联网的核心技术
美国商业领导人组团体呼吁苹果要重地球轻盈利
系统解复位的特殊处理
多电平逆变器有源软开关技术的研究
全球半导体厂商TOP10大洗牌
航天科工二院25所自主研制的吊舱式光电搜索跟踪设备
Boost变换器的三种工作模式
未来即是现在,虚拟现实为你带来新视界