獨立看門狗---STM32----HAL

基本概念

看門狗解決的問題是什么?

在系統跑飛(程序異常執行)的情況,是系統復位,程序重新執行。

獨立看門狗適應用于需要看門狗作為一個在主程序之外能夠完全獨立工作,并且對時間精度要求低的場合。

工作原理

在鍵值寄存器中寫入0xCCCC,開始啟用獨立看門狗,此時計數器開始從其復位值遞減,當計數器值計數到0時會產生一個復位信號。
無論何時,只要在鍵值寄存器中寫入0xAAAA,重裝載寄存器的值就會重新加載到計數器,從而避免計數器到0,產生復位信號。如果程序異常,就無法往鍵值寄存器中寫入0xAAAA,重裝載寄存器的值無法加載到計數器中,計數器會減到0,從而產生一個系統復位信號。

獨立看門狗寄存器
  • IWDG_KR:鍵值寄存器,0~15位有效
  • IWDG_PR:預分頻寄存器,0-2位有效
    在這里插入圖片描述
  • IWDG_RLR:重裝載寄存器,0~11位有效
  • IWDG_SR:狀態寄存器,0~1位有效
獨立看門狗超時時間

Tout = ((4*2prer)rlr)/32

Tout:看門狗溢出時間,單位為ms
prer:預分頻值IWDG_PR
rlr:重裝載值(IWDG_RLR)

獨立看門狗操作步驟

  1. 初始化看門狗:預分頻系數,重裝載值
HAL_IWDG_Init();
  1. 啟用看門狗
HAL_IWDG_Start();
  1. 喂狗
HAL_IWDG_Refresh();

具體代碼

  1. 初始化看門狗:預分頻系數,重裝載值
IWDG_HandleTypeDef iwdg_handler;
void iwdg_init(void)
{iwdg_handler.Instance = IWDG;iwdg_handler.Init.Prescaler = IWDG_PRESCALER_64; //設置預分頻寄存器 IWDG_PRiwdg_handler.Init.Reload = 500;						//設置重裝載寄存器IWDG_RLRHAL_IWDG_Init(&iwdg_handler);HAL_IWDG_Start(&iwdg_handler);						//啟用看門狗
}

Prescaler = IWDG_PRESCALER_64;設置的是4*2^prer=64,Reload = 500設置的是rlr,注意IWDG_RLR重裝載寄存器,只有0~11位有效,不能超過寄存器存儲范圍。

  1. 啟用看門狗,在第一步實現了
  2. 喂狗,在main函數實現了
int main(void)
{// u8 key;HAL_Init();                     //初始化HAL庫   Stm32_Clock_Init(360,25,2,8);   //設置時鐘,180Mhzdelay_init(180);                //初始化延時函數uart_init(115200);              //初始化USARTLED_Init();                     //初始化LED KEY_Init();                     //初始化按鍵delay_ms(100);iwdg_init();//HAL_IWDG_Start(&iwdg_handler);						//啟用看門狗LED0 = 0;while(1){if(KEY_Scan(0)==KEY0_PRES){HAL_IWDG_Refresh(&iwdg_handler);//LED1 = !LED1;delay_ms(10);}}
}

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

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

相關文章

實訓09.09:簡單的彩票系統(注冊信息)

package wsq; import java.util.Scanner;//本文件負責注冊用戶信息 /*用戶注冊信息:1.要求設置賬號和密碼,使用字符串數組2.賬號名不能重復3.密碼需要輸入兩次,兩次密碼輸入一致4.滿足賬號名不重復.且兩次密碼一致,即為注冊成功!!將信息添加到字符串數組中String[][] users ne…

【轉】JAVA生成縮略圖

方法1:[第一種方法比后一種生成的縮略圖要清晰] import javax.imageio.ImageIO;import java.awt.image.BufferedImage;import java.awt.image.ColorModel;import java.awt.image.WritableRaster;import java.awt.*;import java.awt.geom.AffineTransform;import jav…

javascript寫入_如何在JavaScript中寫入HTML元素?

javascript寫入寫入HTML元素 (Writing into an HTML element) To write string/text into an HTML element, we use the following things: 要將字符串/文本寫入HTML元素,我們使用以下內容: There must be an HTML element like paragraph, span, div e…

大話設計模式之設計模式遵循的七大原則

最近幾年來,人們踴躍的提倡和使用設計模式,其根本原因就是為了實現代碼的復用性,增加代碼的可維護性。設計模式的實現遵循了一些原則,從而達到代碼的復用性及增加可維護性的目的,設計模式對理解面向對象的三大特征有很…

IIC通信---EEPROM24C02---STMF4

IIC通信協議 IIC是同步半雙工通信,一個數據線SDA和一個時鐘SCL線,可以接受和發送數據。在CPU與被控IC之間、IC與IC之間進行雙向傳送。 空閑狀態 IIC總線的SDA和SCL兩條信號線同時處于高電平時,規定為總線的空閑狀態。 起始信號 當SCL為高…

實訓09.08:簡單的算法練習

/*final 關鍵字 修飾的變量值 后期不可更改 相當于定義常量常量 :不可更改*/final int a 10;//a 20; 報錯的值不可更改!/*輸入函數* */System.out.println("請輸入數字:");Scanner scanner new Scanner(System.in);int b…

讓自己閃亮

轉載于:https://www.cnblogs.com/Gigabyte/archive/2009/01/03/you_can_shine.html

Java中的wait()和sleep()方法之間的區別

Java中的wait()和sleep()方法 (wait() and sleep() methods in Java) First, we will see how wait() method differs from sleep() method in Java? 首先,我們將看到wait()方法與Java中的sleep()方法有何不同? wait()方法 (wait() Method) This metho…

離線使用iPhone SDK文檔的方法

在使用Xcode進行iPhone編程時,有時需要參考iPhone SDK的文檔,不過每次ControlClick后,Xcode都會試圖連接Internet,進行在線讀取。有什么方法能夠把資料下載到硬盤上進行離線閱讀嗎? 答案是肯定的。首先去Xcode的Prefer…

遠程連接sql server 2000服務器的解決方案

遠程連接sql server 2000服務器的解決方案2007-04-07 11:29遠程連接sql server 2000服務器的解決方案   一 看ping 服務器IP能否ping通。   這個實際上是看和遠程sql server 2000服務器的物理連接是否存在。如果不行,請檢查網絡,查看配置&#xff0c…

實訓09.10:HTML簡單表格設計

<!DOCTYPE html> <html><head><meta charset"UTF-8"><title>燕雨簡歷</title></head><body><table border"" cellspacing"" cellpadding"" width"400px" height"6…

LCD顯示實驗----STM32f4--HAL

步驟 LCD初始化 LCD_Init(); //LCD初始化此函數在lcd.c文件里面 2. 設置LCD背景顏色 LCD_Clear(WHITE);此函數在lcd.c文件里面 3. 設置字體顏色 POINT_COLORRED; 寫入要顯示的字體 LCD_ShowString(10,80,240,24,24,"LTDC TEST");LCD_ShowSt…

JavaScript | 使用提示從用戶輸入值

Example 1) Input name and print 示例1)輸入名稱和打印 Code (JS & HTML): 代碼(JS和HTML)&#xff1a; <!DOCTYPE html><HTML><HEAD><SCRIPT>var name prompt("Enter Your name:");var msg "Welcome "name;//alert(msg)…

一個游戲程序員的學習資料 (zz)

一個游戲程序員的學習資料//z 2012-4-19 14:39:51 PM IS2120CSDN想起寫這篇文章是在看侯杰先生的《深入淺出MFC》時, 突然覺得自己在大學這幾年關于游戲編程方面還算是有些心得&#xff0c;因此寫出這篇小文,介紹我眼中的游戲程序 員的書單與源代碼參考。一則是作為自己今后兩年…

項目管理中工作分解結構模型(WBSM)的應用

摘要 本文根據工作分解結構(WBS)的工作特點&#xff0c;運用系統工程的思想理論方法&#xff0c;構建了工作分解結構模型&#xff0c;并提出了模型算法;該模型方法的建立使得WBS工作更加簡單可靠、思路清晰、基于更加可靠的科學基礎之上。 1、工作分解結構模型(WBSM)方法工作程…

實訓09.11:java重點內容介紹

package test;/** * OP:面向對象的簡稱* 類&#xff1a;同一特征的屬性* * 類的定義&#xff1a;具有相同特征和行為的事物的抽象。&#xff08;不具體化&#xff09;* 對象&#xff08;實例對象&#xff09;&#xff1a;具體真實存在的實例。* 類是對象的實例&#xff1a;* *…

SPI通信原理---STM32F4--HAL

SPI接口原理 SPI是一種高速全雙工同步通信&#xff0c;在芯片管腳上占用四根線&#xff0c;主要應用在EEPROM、FLASH、實時時鐘、AD轉換器&#xff0c;還有數字信號處理器和數字信號解碼器之間。 SPI接口使用4根線通信。 MISO&#xff1a;主設備數據輸入&#xff0c;從設備數…

Linux 引導管理器 grub2 使用簡介

轉自&#xff1a;杜昌彬的空間 首先向其致敬&#xff01;有改動。 grub是Linux系統即其他類unix系統的主流bootloder&#xff0c;由于grub原來版本的設計存在很大缺陷&#xff0c;與以前的grub很不相同&#xff0c;其使用和配置也發生很大變化。現在很多Linux發行版本都使用了…

pata1015_ATA / PATA的完整形式是什么?

pata1015ATA / PATA&#xff1a;高級技術附件/并行高級技術附件 (ATA/PATA: Advanced Technology Attachment/Parallel Advanced Technology Attachment) ATA is an abbreviation of Advanced Technology Attachment. ATA has existed for a long time with the name PATA. Whe…

產品

總結一下&#xff1a;  1、核心功能要做透&#xff0c;做的人家追不上&#xff0c;自己的優勢要盡量的發揮&#xff1b;  2、產品口碑要建立&#xff0c;要關注高端用戶&#xff0c;要調整自己心態&#xff1b;  3、敏捷、快&#xff0c;產品迭代要快&#xff0c;快速實現…