STM32 软件重启导致死机的情况分析

一、背景

在一个项目中需要用到看门狗和软件重启,但是在工作过程中发现存在一种情况会导致STM32死机,经过分析是软件重启过程中复位信号被外部电路强制拉高,无法在复位后4个时钟拉低复位管脚,因此,将该复位引脚断开和外部连接即可正常运行。现将该调试记录如下。

二、测试情况

看门狗喂狗周期初始化为10s。测试了四种情况:

  1. 1:Reset_Pin = NONE  启用IWDG,无IWDG_FeedDog(),程序10s后重启正常运行;
  2. 2:Reset_Pin = 3.3V     启用IWDG,无IWDG_FeedDog(),程序10s后不重启但一直运行;
  3. 3:Reset_Pin = 3.3V     启用IWDG,无IWDG_FeedDog(),第12s调用SoftReset(),程序10s后不重启,第12s软件不重启,程序死机不运行。
  4. 4:Reset_Pin = 3.3V     启用IWDG,有IWDG_FeedDog(),第12s调用SoftReset(),程序10s后不重启,第12s软件不重启,程序死机不运行。

三、分析

  • 外部Reset_Pin上拉4.7k、1k电阻后看门狗和软件重启都正常运行。
  • 外部Reset_Pin强上拉后,看门狗无法重启但程序正常运行,软件重启直接会让程序死机。

四、解决办法

直接剪掉复位管脚。(很粗暴)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/405719.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux 中查找文件,并且将目标文件按时间顺序排序

From: http://blog.csdn.net/linhx/article/details/5440288 linux 中,在redhat中检测过了,查找文件,并且将目标文件按时间顺序排序,这里是从近到远,从迟到早的顺序, 查找当前目录下的所有 version.ini文件…

linux进程和计划任务,linux进程和计划任务

内核的功用:进程管理、文件系统、网络功能、内存管理、驱动程序、 安全功能等进程管理:系统优先级:数字越小,优先级越高实时优先级: 99-0,值最大优先级最高nice值:-20 到19 ,对应系统…

React开发(216):ant dedign 弹窗销毁后再打开,原来的值仍存在,如何销毁弹窗内容?

<Modaltitle"新增对账流水"visible{visible}onOk{() > {formRef.current.handleSubmit();}}onCancel{onClose}okText"确认"cancelText"取消"width{800}destroyOnClose // 关闭时销毁子元素>加destroyOnClose 属性&#xff0c;关闭时销毁…

新浪微博

转载于:https://blog.51cto.com/js5323/452656

嵌入式C开发中用到的位域结构体

一、位域描述 存放一个开关量或者其他开关状态时&#xff0c;用一位二进位即可。为了减少嵌入式内存资源的开销&#xff0c;可以使用位域进行定义&#xff0c;位域是C语言支持的一种数据结构&#xff0c;称为“位域”或“位段”。“位域”是把一个字节中的每个位划分为几个不同…

linux可配置哪些服务,linux操作系统下服务配置

linux操作系统下服务配置 (5页)本资源提供全文预览&#xff0c;点击全文预览即可全文预览,如果喜欢文档就下载吧&#xff0c;查找使用更方便哦&#xff01;17.90 积分实用标准文案数学与信息技术学院实 验 报 告实验课程名称&#xff1a; 信息系统与系统集成 实验项目名称&…

你会给别人提反馈吗?

几个例子 你会提反馈吗&#xff1f;不急回答&#xff0c;我们先来看几个例子。 例子一: 项目经理&#xff1a;“xxx&#xff0c;我本来对你的期望特别高&#xff0c;但是你让我有些失望啊。” xxx&#xff1a;“啊&#xff0c;不知道哪些地方做的不好呢&#xff1f;” 项目经理…

linux代码工具tag,gcov-dump原理分析_Linux平台代码覆盖率测试

第 16 页 LINES tag: tag_lines() 函数3.4 LINES tag: tag_lines() 函数static voidtag_lines ( const char * filename ATTRIBUTE_UNUSED ,unsigned tag ATTRIBUTE_UNUSED , unsigned length ATTRIBUTE_UNUSED ){if ( flag_dump_contents ){unsigned blockno gcov_read_unsig…

关于 CFileDialog 对话框多选功能的一个问题

From: http://www.vckbase.com/document/viewdoc/?id1544 最近有位读者来信指出&#xff1a;《在线杂志》第26期中有一篇文章&#xff1a;“再谈 CFileDialog 对话框的定制”&#xff0c;其例子程序有一个bug。如果多选时选中的文件过多&#xff0c;那么后面选中的文件将无效…

React开发(217):vs code出现‘npm’

npm : 无法将“npm”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写&#xff0c;如果包括路径&#xff0c;请确保路径正确&#xff0c;然后再试一次。 所在位置 行:1 字符: 1 解决 以管理员身份打开vs code

java类内存中只能运行一个实例对象

方法&#xff1a;构造方法私有化(private) public class TestClass { private static TestClass obj new TestClass (); //私有构造方法   private TestClass () {        }   public static TestClass getInstance() {     return obj ;   } } 使用&#xff…

linux winrar 安装目录,WinRAR 5.61发布,提供Linux版本下载,附安装方法

压缩及解压缩工具WinRAR 5.61已经发布下载&#xff0c;提供WinRAR (32/64 bit) 5.61、RAR 5.61 for Linux、RAR for Android、RAR 5.61 for Mac OS X、RAR 5.61 for FreeBSD安装包下载。WinRAR 5.61是一款流行的压缩工具&#xff0c;它支持鼠标播放及外壳扩展功能&#xff0c;支…

JAVASCRIPT 提示信息 主要是使用了获取控件的位置进行定位

JAVASCRIPT 提示信息 主要是使用了获取控件的位置进行定位 <% Page Language"C#" AutoEventWireup"true" CodeBehind"DCS_SubmitNewRequest.aspx.cs" Inherits"BAF.DCS.Web.DCS_SubmitNewRequest" %> <!DOCTYPE html PUBL…

luceda ipkiss教程 53:在版图上加中文

要在版图上加中文&#xff0c;如&#xff1a; 可以通过如下方法实现&#xff1a; 首先&#xff0c;可以在ppt中加入文本框&#xff0c;在文本框中输入想要加到版图上的中文内容&#xff0c;如&#xff0c;复旦大学&#xff0c;并将文本框存为windows位图。 其次&#xff0c;通…

同时打开多个VC工程

操作流程如下&#xff1a; 在系统资源管理器->文件夹选项->选择dsw文件-> 高级->open with->编辑->把“使用DDE”前面的勾取消 点击确定&#xff0c;OK。已经设置OK.

QtCreator 如何将开发的程序打包成exe

一、前言 在QtCreator中开发好应用程序后&#xff0c;想发布成exe可执行程序&#xff0c;在其他电脑可以运行&#xff0c;按照以下步骤即可。QtCreator在安装的时候会自带部署器windeployqt&#xff0c;利用windeployqt抽出相应的DLL即可。 二、具体步骤 1&#xff1a;将开发…

MS SQLService中的*= 及 =*

今天看到数据库中的存储过程中&#xff0c;有* &#xff0c;于是百度了一下&#xff0c;原来这个SQL2000以前的左连接&#xff0c;以后的版本中开启兼容也是可以用的。 于是拿出来在系统中的表中测试了一下果然如此 例&#xff1a; 有用户表D_user及公司代码表d_organization 其…

Oracle 外部表

-- -- Oracle 外部表 -- 外部表只能在Oracle 9i 之后来使用。简单地说&#xff0c;外部表&#xff0c;是指不存在于数据库中的表。通过向Oracle提供描述外部表的元数据&#xff0c;我们 可以把一个操作系统文件当成一个只读的数据库表&#xff0c;就像这些数据存储在一个普通数…