完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
void Check_Rst(void){ my_printf(" CSR = %xrn", RCC->CSR); if(__HAL_RCC_GET_FLAG(RCC_FLAG_PINRST) != RESET ) // NRST 引脚复位 { my_printf("PIN reset rn"); } if(__HAL_RCC_GET_FLAG(RCC_FLAG_PORRST) != RESET ) // 上电掉电复位 { my_printf("POR/PDR reset rn"); } if(__HAL_RCC_GET_FLAG(RCC_FLAG_SFTRST) != RESET ) // 软件复位 { my_printf("Software reset rn"); } if(__HAL_RCC_GET_FLAG(RCC_FLAG_IWDGRST) != RESET ) // 独立看门狗复位 { my_printf("Independent watchdog reset rn"); } if(__HAL_RCC_GET_FLAG(RCC_FLAG_WWDGRST) != RESET ) // 窗口看门狗复位 { my_printf("Window watchdog reset rn"); } if(__HAL_RCC_GET_FLAG(RCC_FLAG_LPWRRST) != RESET ) // 低功耗复位 { my_printf("(Low-power reset rn"); } __HAL_RCC_CLEAR_RESET_FLAGS(); //清除复位标志}
|
|
相关推荐
1个回答
|
|
在这段代码中,我们正在检查STM32H745微控制器(MCU)的重启原因。代码使用了STM32 HAL库来获取和检查RCC(Reset and Clock Control)寄存器的状态。以下是代码的逐步解释:
1. 首先,我们定义了一个名为`Check_Rst`的函数,该函数没有参数。 ```c void Check_Rst(void) ``` 2. 在函数内部,我们使用`my_printf`函数打印RCC的CSR(Control and Status Register)寄存器的值。CSR寄存器包含了MCU的复位和时钟控制状态。 ```c my_printf(" CSR = %xrn", RCC->CSR); ``` 3. 接下来,我们使用`__HAL_RCC_GET_FLAG`宏来检查`RCC_FLAG_PINRST`标志。如果此标志不为`RESET`,则表示MCU是由于NRST(复位)引脚触发的复位。 ```c if(__HAL_RCC_GET_FLAG(RCC_FLAG_PINRST) != RESET) { my_printf("PIN reset rn"); } ``` 4. 然后,我们再次使用`__HAL_RCC_GET_FLAG`宏来检查`RCC_FLAG_PORRST`标志。如果此标志不为`RESET`,则表示MCU是由于上电或掉电触发的复位(Power On Reset 或 Power Down Reset)。 ```c if(__HAL_RCC_GET_FLAG(RCC_FLAG_PORRST) != RESET) { my_printf("POR/PD reset rn"); } ``` 这段代码的目的是检查STM32H745 MCU的重启原因,并打印出相应的信息。通过检查CSR寄存器中的不同标志,我们可以确定是哪种类型的复位导致了MCU的重启。 |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1713 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1600 浏览 1 评论
1038 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
715 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1651 浏览 2 评论
1903浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
694浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
546浏览 3评论
567浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
535浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-12 06:47 , Processed in 0.882595 second(s), Total 73, Slave 65 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号