📢:如果你也对机器人、人工智能感兴趣,看来我们志同道合✨
📢:不妨浏览一下我的博客主页【https://blog.csdn.net/weixin_51244852】
📢:文章若有幸对你有帮助,可点赞 👍 收藏 ⭐不迷路🙉
📢:内容若有错误,敬请留言 📝指正!原创文,转载注明出处
文章目录
- [1. 系统复位](#1. 系统复位)
-
- [1.1 软件复位](#1.1 软件复位)
1. 系统复位
只要发生以下事件之一,就会产生系统复位,而系统复位会将其它全部寄存器都复位为复位值。
NRST 引脚低电平(外部复位)
窗口看门狗计数结束( WWDG 复位)
独立看门狗计数结束( IWDG 复位)
软件复位( SW 复位)
低功耗管理复位
1.1 软件复位
软件复位(SW 复位)是指通过软件指令触发的复位操作,它可以将系统恢复到初始状态。NVIC_SystemReset() 是一个标准库函数,用于触发系统的软件复位。调用该函数后,系统会停止当前正在执行的任务,将各个寄存器和系统状态恢复到初始状态,然后从复位向量处重新开始执行程序。
c
void NVIC_SystemReset(void)
{
__DSB();
SCB->AIRCR = ((0x5FA << SCB_AIRCR_VECTKEY_Pos) |
(SCB->AIRCR & SCB_AIRCR_PRIGROUP_Msk) |
SCB_AIRCR_SYSRESETREQ_Msk);
__DSB();
while(1);
}