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);                                                    
}
相关推荐
charlie1145141912 小时前
精读 C++20 设计模式:行为型设计模式 — 访问者模式
c++·学习·设计模式·访问者模式·c++20
长路归期无望2 小时前
C语言小白实现多功能计算器的艰难历程
c语言·开发语言·数据结构·笔记·学习·算法
知识分享小能手3 小时前
微信小程序入门学习教程,从入门到精通,微信小程序常用API(上)——知识点详解 + 案例实战(4)
前端·javascript·学习·微信小程序·小程序·html5·微信开放平台
yuxb734 小时前
Ceph 分布式存储学习笔记(二):池管理、认证和授权管理与集群配置(下)
笔记·ceph·学习
悠哉悠哉愿意5 小时前
【ROS2学习笔记】话题通信篇:python话题订阅与发布
笔记·学习·ros2
bruk_spp5 小时前
从pty驱动学习tty设备驱动加载
linux·学习
东方芷兰5 小时前
JavaWeb 课堂笔记 —— 20 SpringBootWeb案例 配置文件
java·开发语言·笔记·算法·log4j·intellij-idea·lua
楼田莉子5 小时前
vscode搭建C/C++配置开发环境
c语言·开发语言·c++·vscode·学习·编辑器
tt666qq6 小时前
linux文件系统学习
linux·运维·学习
我命由我123456 小时前
Photoshop - Photoshop 工具库
笔记·学习·ui·职场和发展·职场·photoshop·ps