STM32学习笔记之RCC模块(实操篇)

📢:如果你也对机器人、人工智能感兴趣,看来我们志同道合✨

📢:不妨浏览一下我的博客主页【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);                                                    
}
相关推荐
Brilliantwxx5 分钟前
【C++】String的模拟实现(代码实现与坑点讲解)
开发语言·c++·笔记·算法
babe小鑫16 分钟前
数据岗位的发展与学习数据分析指南
学习·数据挖掘·数据分析
楼田莉子18 分钟前
仿Muduo的高并发服务器:Channel模块与Poller模块
linux·服务器·c++·学习·设计模式
知识分享小能手21 分钟前
R语言入门学习教程,从入门到精通,R语言网络关系数据可视化(8)
学习·信息可视化·r语言
xieliyu.23 分钟前
Java手搓数据结构:栈与队列模拟实现
java·数据结构·学习
zhangrelay23 分钟前
ROS Kinetic-信号与系统-趣味案例
linux·笔记·学习·ubuntu
羊群智妍27 分钟前
2026 GEO监测工具|AI搜索优化技术方案与选型
笔记
iCxhust32 分钟前
led_pattern = (led_pattern << 1) | (led_pattern >> 7)执行顺序
stm32·单片机·嵌入式硬件·51单片机·微机原理
maosheng114632 分钟前
RHCE的第一次笔记
服务器·网络·笔记
ZC跨境爬虫36 分钟前
跟着 MDN 学 HTML day_8:(高级文本语义标签+适配核心功底)
前端·css·笔记·ui·html