STM32之看門狗(IWDG)

一、看門狗外設的原理與應用

  • 背景說明

隨著單片機的發展,單片機在家用電器、工業自動化、生產過程控制、智能儀器儀表等領域的應用越來越廣泛。然而處于同一電力系統中的各種電氣設備通過電或磁的聯系彼此緊密相連,相互影響,由于運行方式的改變、故障、開關操作等引起的電磁振蕩會波及很多電氣設備。這對我們單片機系統的可靠性與安全性構成了極大的威脅。單片機測控系統必須長期穩定、可靠運行,否則將導致控制誤差加大,嚴重時會使系統失靈,甚至造成巨大損失。因此單片機的抗干擾能力已經成為不容忽視的問題。

  • 基本概念

由于單片機在運行的過程經常會受到外部電磁場的干擾,就可能會出現程序“跑飛”,比如出現數據的缺失、導致寄存器中的數據發生變化、程序指針PC指向非法地址........,為了提高程序的可靠性,就提供了看門狗外設,在程序出現由軟件或者硬件導致的未知問題,利用看門狗外設對芯片進行復位,相當于重新運行程序。

看門狗(WatchDog Timer),本質上就是一個定時器電路,一般有一個輸入和一個輸出,輸出端連接到到MCU的RST引腳,當MCU正常工作的時候,每隔一段時間輸出一個信號到看門狗的輸入端,如果超過規定的時間不喂狗(一般在程序跑飛時),看門狗就會給出一個復位信號到MCU,使MCU復位。

  • 實現原理

使用看門狗的目的:為了提供程序的可靠性,防止由軟件或者硬件造成的問題的出現。如果想要了解看門狗的資源和特點,可以參考STM32F4中文參考手冊。

  • 分類說明

STM32F4系列的芯片提供的兩個看門狗,一個叫做獨立看門狗,一個叫做窗口看門狗。兩個看門狗的使用流程差不多,但是相比于獨立看門狗,窗口看門狗的限制更嚴格。

  1. 窗口看門狗

  1. 獨立看門狗

  • 內部結構

  • 程序設計

思考:如果出現芯片復位的情況,如何判斷是用戶手動完成復位還是由IWDG看門狗復位??

  • 喂狗技巧

一種方案是在代碼段進行穿插喂狗,操作起來比較麻煩,另一種方案是在定時器中斷中完成喂狗操作,但是注意中斷請求可能出現嵌套,所以喂狗操作的定時器的中斷的搶占優先級應該是在程序中所有中斷里面是最高。

為了提高程序的可靠性,應該定義一個標志位,應該結合該標志位來判斷程序的運行狀態。

練習:根據看門狗的原理,實現掌握MCU中的窗口看門狗的使用流程,另外,要求在自己的程序中實現看門狗的監測,并對PS2模塊、光敏、溫濕度進行測試,然后把之前學習的外設的程序進行封裝,封裝為xxx.c和xxx.h。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/907156.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/907156.shtml
英文地址,請注明出處:http://en.pswp.cn/news/907156.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

#RabbitMQ# 消息隊列進階

目錄 消息可靠性 一 生產者的可靠性 1 生產者的重連 2 生產者的確認 (1 Confirm* (2 Return 二 MQ的可靠性 1 數據持久化 2 Lazy Queue* 三 消費者的可靠性 1 消費者確認機制 2 消費失敗處理 3 業務冪等性 四 延遲消息 消息可靠性 在消息隊列中,可靠性…

《計算機組成原理》第 10 章 - 控制單元的設計

目錄 10.1 組合邏輯設計 10.1.1 組合邏輯控制單元框圖 10.1.2 微操作的節拍安排 10.1.3 組合邏輯設計步驟 10.2 微程序設計 10.2.1 微程序設計思想的產生 10.2.2 微程序控制單元框圖及工作原理 10.2.3 微指令的編碼方式 1. 直接編碼(水平型) 2.…

AstroNex空間任務智能控制研究與訓練數據集

數據集概述 AstroNex空間任務智能控制研究與訓練數據集是朗迪鋒科技基于Multiverse平臺精心打造的首個全面覆蓋航天器智能控制全周期的綜合數據集產品。該數據集匯集了軌道動力學、姿態控制、機器視覺、環境感知等多維度數據,為航天器智能算法研發提供豐富的訓練與…

??3D 幾何建模工具庫?Open CASCADE(OCCT)簡單介紹。

??Open CASCADE(OCCT)?? 的新手,我會用最簡單的方式幫你理解它是什么、能做什么,以及如何快速上手。 ??1. OCCT 是什么??? ??一句話定義??:OCCT 是一個開源的 ??3D 幾何建模工具庫??&…

[7-1] ADC模數轉換器 江協科技學習筆記(14個知識點)

1 2 3 4 5 6 7 8 9 10 11 12 13 14 DMA(Direct Memory Access,直接內存訪問)是一種硬件特性,它允許某些硬件子系統直接訪問系統的內存,而無需CPU的介入。這樣,CPU就可以處理其他任務,從而提高系…

篇章三 基礎——不可變類

目錄 1.是什么 2.為什么 3.怎么做 4.構造詳細的不可變類示例: 5.補充 5.1 Java標準庫中的不可變類 5.2 構造不可變類進階 1.對象包含嵌套的引用類型字段 2. 大型對象采用不可變類時,需考慮性能影響。 2.1 內存占用問題 2.2 垃圾回收壓力 2.3 復制開銷 2.4 優化策…

cuda ncu section 含義解釋

NVIDIA Nsight Compute (NCU) 是用于分析 CUDA 程序性能的工具,通過 Sections 組織性能指標。用戶提供的 24 個 Sections 涵蓋了計算、內存、調度、互連和可視化等方面。本報告詳細解釋每個 Section 的含義、用途及相關分析場景。 Sections 詳細解析 C2CLink 含義&…

NGINX HTTP/2 全面指南開啟、調優與實戰

一、為什么要用 HTTP/2? 多路復用(Multiplexing) 單連接上可并發交錯發送多路請求,避免了 HTTP/1.x 中的隊頭阻塞(Head-Of-Line Blocking)。頭部壓縮(HPACK) 對 HTTP 頭部字段進行高…

手寫簡單的tomcat

首先,Tomcat是一個軟件,所有的項目都能在Tomcat上加載運行,Tomcat最核心的就是Servlet集合,本身就是HashMap。Tomcat需要支持Servlet,所以有servlet底層的資源:HttpServlet抽象類、HttpRequest和HttpRespon…

智能體賦能效率,企業知識庫沉淀價值:UMI企業智腦的雙輪驅動!

智能體企業知識庫:UMI企業智腦的核心功能與價值 在人工智能技術飛速發展的今天,企業智能化轉型已經成為不可逆轉的趨勢。作為企業級AI智能體開發平臺的佼佼者,優秘智能推出的UMI企業智腦,以其強大的智能體開發能力和全面的企業知…

與 PyCharm 官方溝通解決開發環境問題記錄(進展:官方已推出2個新的修復版本)

??????主題:有關 PyCharm 中終端和環境激活問題的反饋:PY-81233 前言 目前進展: 官方已有2個修復版本推出測試。 更新方法: 使用JetBrains Toolbox App,如下圖所示,從“其他版本”進入查看更新。…

LINUX安裝運行jeelowcode后端項目(命令行)

環境準備 運行環境:JDK1.8開發工具: Idea、Maven默認已啟動中間件:(推薦使用寶塔)Mysql8.0、Redis、Minio第一步:下載JeelowCode項目并導入IDEA中 第二步:導入數據庫文件到mysql中,…

Android開機向導定制(2)開機向導配置

先貼lineage_wizard_script_user.xml的代碼&#xff1a; <WizardScript xmlns:wizard"http://schemas.android.com/apk/res/com.google.android.setupwizard"wizard:firstAction"welcome"><WizardAction wizard:uri"intent:#Intent;actiono…

守護電動“心臟”!仿真APP在汽車電池包隨機振動分析中的應用

汽車電動化、智能化、綠色化發展已成為全球各國應對氣候變化、實現低碳發展的共同選擇。在此背景下&#xff0c;新能源汽車持續高速發展。電池包作為新能源汽車的“心臟”&#xff0c;是其主要動力來源&#xff0c;直接影響車輛的續航里程與行駛安全。電池包結構的安全可靠性對…

實習面經(JAVA)

目錄 鎖升級 notify和notifyAll區別 Sleep和Wait的區別 ArrayList和ListedList區別 HashMap擴容原理 ConcurrentHashMap StringBuffer 和 StringBuilder 事務等級 索引結構 三次握手四次揮手&#xff0c;為什么是三次和四次 Java中重寫和重載的區別和應用場景 ArrayLis…

計算機網絡-WebSocket/DNS/Cookie/Session/Token/Jwt/Nginx

文章目錄 WebSocketDNS什么是dns域名解析底層協議 cookie/sessionToken/JWTNginx WebSocket 一種網絡通信協議&#xff0c;允許在單個 TCP&#xff08;半雙工&#xff09; 連接上進行全雙工通信&#xff08;客戶端和服務器可同時雙向傳輸數據&#xff09;。 HTTP是基于請求-響…

單片機如何快速實現查看實時數據

在用 Keil 做調試的時候&#xff0c;最讓人頭禿的是什么&#xff1f; 不是寫代碼的BUG&#xff0c;而是&#xff1a;這個條件變量是什么情況&#xff1f;為什么沒進入這個判斷&#xff1f;我代碼跑到哪里了&#xff1f; 其實本質上都是通過變量判斷代碼的執行順序有沒有問題 …

vue3:橫線無限滾動(向左/向右),自定義UI

子組件 <template><div class"single-scroll-container" ref"container" mouseenter"pause" mouseleave"resume"><divclass"single-scroll-content":style"{ transform: translateX(${translateX}px) }…

Anthropic公司近日發布了兩款新一代大型語言模型Claude Opus 4與Claude Sonnet 4

每周跟蹤AI熱點新聞動向和震撼發展 想要探索生成式人工智能的前沿進展嗎&#xff1f;訂閱我們的簡報&#xff0c;深入解析最新的技術突破、實際應用案例和未來的趨勢。與全球數同行一同&#xff0c;從行業內部的深度分析和實用指南中受益。不要錯過這個機會&#xff0c;成為AI領…

【機器人】復現 Embodied-Reasoner 具身推理 | 具身任務 深度推理模型 多模態場景 長遠決策 多輪互動

Embodied-Reasoner 是一個多模態具身模型&#xff0c;它將 o1 的深度推理能力擴展到具身交互任務。 可以在 AI2THOR 仿真中執行復雜的任務&#xff0c;例如搜索隱藏物體、操縱 和 運輸物品 具有以下的功能&#xff1a; &#x1f914; 深度推理能力&#xff0c;例如分析、空間…