0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何判断STM32的复位类型_STM32软件复位bug有哪些

电子工程师 ? 作者:工程师a ? 2018-05-20 10:06 ? 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

STM 32在复位时,有严重BUG:

1.上电复位和外置的看门狗芯片重启复位是无法区分开来的!RCC_FLAG_BORRST, RCC_FLAG_PINRST, RCC_FLAG_LPWRRST三个都复位了!

2.这样当要在上电复位初始化关键代码时,这些代码看门狗复位则不用重启,这个关键代码会导致应用业务的异常!若两个中断分不开,导致系统异常看门狗复位时影响业务!

/*

RCC_FLAG_BORRST: POR/PDR or BOR reset //Power-on/power-down reset (POR/PDR reset) or brownout (BOR) reset

RCC_FLAG_PINRST: Pin reset //NRST pin可能为看门狗重启

RCC_FLAG_PORRST: POR/PDR reset

RCC_FLAG_SFTRST: Software reset

RCC_FLAG_IWDGRST: Independent Watchdog reset

RCC_FLAG_WWDGRST: Window Watchdog reset

RCC_FLAG_LPWRRST: Low Power reset

*/

/*****************************************************************************************

函 数 名: SysRstSrcRecord

参 数: 无

返 回 值: 系统重启次数记录

描 述: 记录系统重启的方式记录

作 者: 李少雄

版 本: V1.0 2012年11月12日

******************************************************************************************/

u8 SysRstSrcRecord(u8 *pstRest)

{

//u8 uchInfoChange=0;

pstRest[0] = RCC_GetFlagStatus(RCC_FLAG_BORRST);

pstRest[1] = RCC_GetFlagStatus(RCC_FLAG_PINRST);

pstRest[2] = RCC_GetFlagStatus(RCC_FLAG_PORRST);

pstRest[3] = RCC_GetFlagStatus(RCC_FLAG_SFTRST);

pstRest[4] = RCC_GetFlagStatus(RCC_FLAG_IWDGRST);

pstRest[5] = RCC_GetFlagStatus(RCC_FLAG_WWDGRST);

pstRest[6] = RCC_GetFlagStatus(RCC_FLAG_LPWRRST);

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • STM32
    +关注

    关注

    2295

    文章

    11035

    浏览量

    366003
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    STM32复位类型判断方法 精选资料推荐

    STM32复位及通过函数判断是何种条件出发的复位STM32F10xxx支持三种复位形式,分别为系
    发表于 08-16 08:06

    stm32复位电路工作原理

    stm32复位电路工作原理 相信大家对复位电路已经很熟悉了,复位电路是一种用来使电路恢复到起始状态的电路设备,这次我们来讨论一下stm32
    的头像 发表于 08-07 11:59 ?3.9w次阅读

    stm32复位方式分类

    stm32复位方式分类按照复位区域的范围分类,大概可以分为系统复位,电源复位,备份域复位,内核
    发表于 12-07 19:36 ?12次下载
    <b class='flag-5'>stm32</b><b class='flag-5'>复位</b>方式分类

    STM32复位电路

    **STM32复位电路**
    发表于 12-24 19:28 ?24次下载
    <b class='flag-5'>STM32</b><b class='flag-5'>复位</b>电路

    STM32电源管理、复位、时钟

    STM32F10的复位信号系统复位软件复位低功耗管理复位电源
    发表于 01-05 14:25 ?10次下载
    <b class='flag-5'>STM32</b>电源管理、<b class='flag-5'>复位</b>、时钟

    STM32复位判断

    在项目中有时候会遇到单片机莫名奇妙复位的情况,为了判断是那种原因引起复位,就需要对单片机的复位源进行判断。现用
    发表于 01-17 12:29 ?12次下载
    <b class='flag-5'>STM32</b><b class='flag-5'>复位</b>源<b class='flag-5'>判断</b>

    STM32学习笔记】技巧2 - STM32复位类型及区别

    最近在项目的时候需要判别STM32复位类型,网上这部分资料也有许多大神进行总结。但是感觉不是特别深入,因此,小编参考参考了STM32的参考手册进行详细总结了一下。1、
    发表于 01-17 12:54 ?10次下载
    【<b class='flag-5'>STM32</b>学习笔记】技巧2 - <b class='flag-5'>STM32</b>的<b class='flag-5'>复位</b><b class='flag-5'>类型</b>及区别

    STM32复位来源、以及系统和内核复位区别

    每一块STM32中都有这么一个RCC复位和时钟控制模块。STM32复位为三类:系统复位、电源复位
    发表于 02-10 10:30 ?6次下载
    <b class='flag-5'>STM32</b><b class='flag-5'>复位</b>来源、以及系统和内核<b class='flag-5'>复位</b>区别

    浅析stm32复位电路方法

    说到复位,我们都不会陌生,系统基本都有一个复位按键。复位的种类很多:上电复位、掉电复位
    发表于 02-11 15:10 ?45次下载
    浅析<b class='flag-5'>stm32</b><b class='flag-5'>复位</b>电路方法

    stm32复位电路设计

    stm32复位电路设计
    发表于 06-26 09:26 ?8次下载

    STM32芯片的那些系统级复位功能

    我们知道,STM32芯片里很多系统级的复位,比方上电复位、欠压复位、看门狗复位
    的头像 发表于 10-19 09:06 ?6034次阅读

    stm32复位电路如何设计

    1,描述 ? 说到复位,我们都不会陌生,系统基本都有一个复位按键。复位的种类很多:上电复位、掉电复位
    的头像 发表于 06-22 09:06 ?3580次阅读

    基于STM32芯片特定外设复位的功能

    我们知道,STM32芯片里很多系统级的复位,比方上电复位、欠压复位、看门狗复位
    的头像 发表于 06-22 09:08 ?3215次阅读
    基于<b class='flag-5'>STM32</b>芯片特定外设<b class='flag-5'>复位</b>的功能

    stm32复位 内核复位和系统复位

    内核复位:它会使STM32内核(Cortex-M)进行复位,而不会影响其外设,如GPIO、TIM、USART、SPI等这些寄存器的复位
    的头像 发表于 08-01 17:21 ?5992次阅读

    STM32复位电路用复位芯片和阻容复位电路区别

    STM32是一款广泛使用的微控制器,其复位电路设计对于系统的稳定性和可靠性至关重要。本文将详细介绍STM32复位电路中使用复位芯片和阻容
    的头像 发表于 08-06 10:26 ?3045次阅读