如何在上电时获取MCU的复位源

简介: 如何在上电时获取MCU的复位源

STM32获取复位源

代码实现

/*
* 函数名称:Get_MCU_ResetSource
* 输入参数:None
* 返 回 值:None
* 作    者:Barry
* 功能描述:获取单片机的复位源
* 修改记录:None
*/
static void Get_MCU_ResetSource(void)
{
    /* 上电/掉电复位 */
    if(RCC_GetFlagStatus(RCC_FLAG_PORRST) != RESET)
    {
        log_i(">This is power on reset.\r\n");
    }
    /* 复位脚复位 */
    else if(RCC_GetFlagStatus(RCC_FLAG_PINRST) != RESET)
    {
        log_i(">This is extern reset pin reset.\r\n");
    }
    /* 软件复位 */
    else if(RCC_GetFlagStatus(RCC_FLAG_SFTRST) != RESET)
    {
        log_i(">This is software reset.\r\n");
    }
    /* 独立看门狗复位 */
    else if(RCC_GetFlagStatus(RCC_FLAG_IWDGRST) != RESET)
    {
        log_i(">This is iwdg reset.\r\n");
    }
    /* 窗口看门狗复位 */
    else if(RCC_GetFlagStatus(RCC_FLAG_WWDGRST) != RESET)
    {
        log_i(">This is wwdg reset.\r\n");
    }
    /* 低功耗复位 */
    else if(RCC_GetFlagStatus(RCC_FLAG_LPWRRST) != RESET)
    {
        log_i(">This is low power reset.\r\n");
    }
    /* MMU复位 */
    else if(RCC_GetFlagStatus(RCC_FLAG_MMURST) != RESET)
    {
        log_i(">This is MMU reset.\r\n");
    }
    /* RAM复位 */
    else if(RCC_GetFlagStatus(RCC_FLAG_RAMRST) != RESET)
    {
        log_i(">This is RAM reset.\r\n");
    }
    /* 备份域复位 */
    else if(RCC_GetFlagStatus(RCC_FLAG_BKPEMC) != RESET)
    {
        log_i(">This is BKP reset.\r\n");
    }
    /* 保持域复位 */
    else if(RCC_GetFlagStatus(RCC_FLAG_RETEMC) != RESET)
    {
        log_i(">This is RET reset.\r\n");
    }
    /* BOR复位 */
    else if(RCC_GetFlagStatus(RCC_FLAG_BORRST) != RESET)
    {
        log_i(">This is BOR reset.\r\n");
    }

    /* 清除复位标志 */
    RCC_ClrFlag();
}
AI 代码解读
目录
打赏
0
1
2
0
76
分享
相关文章
23种设计模式,享元模式的概念优缺点以及JAVA代码举例
【4月更文挑战第6天】享元模式(Flyweight Pattern)是一种结构型设计模式,旨在通过共享技术有效地支持大量细粒度对象的重用。这个模式在处理大量对象时非常有用,特别是当这些对象中的许多实例实际上可以共享相同的状态时,从而可以减少内存占用,提高程序效率
171 4
【登录界面】vue、element-ui登录界面模板
这里总结一个用vue、element-ui写的登录界面,为以后复制粘贴备用
1985 0
【登录界面】vue、element-ui登录界面模板
示例一、集成温度传感器(DS1820)温度特性
示例一、集成温度传感器(DS1820)温度特性
340 1
【完全免费】VS Code 最好用的 12 款 AI 代码提示插件!!!
🎉 探索12款免费VSCode AI代码提示插件:Codeium、Codegeex、CodeFuse、TONGYI Lingma、Comate、iFlyCode、Fitten Code、Bito AI、Mintlify Doc Writer、Kodezi AI、aiXcoder、IntelliCode。这些插件提供智能补全、代码生成、注释、优化,支持多种语言,提升编程效率!🚀👩‍💻👨‍💻
14537 0

物联网

+关注
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等

登录插画

登录以查看您的控制台资源

管理云资源
状态一览
快捷访问