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);                                                    
}
相关推荐
视觉小萌新10 小时前
AI Class 3 · Chapter 1:变量、字符串、list/dict、if/for(python学习-小白版-有经验可跳过)
python·学习·list
Zw-awa12 小时前
从 CPU 搬运到自动搬运:DMA、空闲中断和两块缓冲
stm32
yyyang8813 小时前
蓝牙系统整体架构详解
学习·信息与通信
程序边界13 小时前
一台数据集成软件的拆解笔记(下):一致性、容错、跑批与迁移,KFS 真正难的地方在这
java·前端·笔记
无敌贵点大王13 小时前
从寄存器层面重学STM32(6)——串口USART实战部分
stm32·单片机·嵌入式硬件
庙堂龙吟奈我何13 小时前
二进制和十六进制
stm32·单片机
Linux-lucky13 小时前
46-Linux学习之旅之LVS负载均衡与keepalived高可用
linux·运维·学习·ubuntu·负载均衡·lvs
TST-魚爷15 小时前
小型视频会议室音频踩坑:一体化拾音扩音方案实测分享(易视讯)
stm32·电脑·音视频·钉钉·腾讯会议·zoom会议
金色光环15 小时前
【DSP学习】C2000_ADC中断_笔记
笔记·学习
Дерек的学习记录15 小时前
Unreal Engine 5:第三人称运动系统和人物动画
开发语言·学习·ue5