1. 程式人生 > >STM32F103V IWDG 獨立看門狗操作

STM32F103V IWDG 獨立看門狗操作

最近編寫一個程式,因為需要考慮到可靠性,所以需要在程式了新增看門狗功能。查了下STM32的相關資料,於是利用下庫檔案來實現IWDG獨立看門狗操作。首先需要呼叫庫檔案 #include "stm32f10x_iwdg.h"

再配置下看門狗相關引數

//////////獨立看門狗IWDG設定////////////////////////////////////
void WatchDog_int(void)// 獨立看門狗IWDG設定
{
     /* Enable write access to IWDG_PR and IWDG_RLR registers */
  IWDG_WriteAccessCmd(IWDG_WriteAccess_Enable);
   /* IWDG counter clock: 32KHz(LSI) / 32 = 1KHz */
  IWDG_SetPrescaler(IWDG_Prescaler_32); //獨立看門狗預分頻為32

   /* Set counter reload value to 1000 */
  IWDG_SetReload(1000);//設定IWDG重灌載值 範圍為 0~0x0FFF;

    /* Reload IWDG counter */
  IWDG_ReloadCounter();//按照重灌載的暫存器的值來重灌載IWDG計數器

    /* Enable IWDG (the LSI oscillator will be enabled by hardware) */
  IWDG_Enable();//使能 獨立看門狗
}

在主程式中實現喂狗的程式如下:

///////////主程式//////////////////
int main(void)
{
   RCC_Configuration(); //時鐘配置
   NVIC_Configuration();//中斷配置
   GPIO_Configuration();//GPIO配置

   WatchDog_int();// 獨立看門狗IWDG設定
  /* 檢查是否看門狗復位*/
  if(RCC_GetFlagStatus(RCC_FLAG_IWDGRST) != RESET)
  { 
    printf("WatchDog Reset\r\n"); 
    speakertest();
    RCC_ClearFlag();//清除標誌位
  }
  else
  {;}

 }

while(1)

{

//正常執行的程式

IWDG_ReloadCounter();//喂狗

}

相關推薦

STM32F103V IWDG 獨立看門操作

最近編寫一個程式,因為需要考慮到可靠性,所以需要在程式了新增看門狗功能。查了下STM32的相關資料,於是利用下庫檔案來實現IWDG獨立看門狗操作。首先需要呼叫庫檔案 #include "stm32f10x_iwdg.h" 再配置下看門狗相關引數 //////////獨立看

[HAL庫學習之路]5.IWDG-獨立看門

記錄自己的STM32的HAL庫的學習之路,不定期更新… 一、Pinout 二、Clock Configuration 三、Configuration 配置GPIO 配置

STM32CubeMX學習——STM32H743獨立看門IWDG

STM32CubeMX學習——STM32H743獨立看門狗IWDG STM32CubeMX配置 Pinout配置 Clock Configuration配置 Configuration GPIO IWDG1

cortex_m3_stm32嵌入式學習筆記(五):獨立看門實驗(IWDG)

微控制器系統在外界的干擾下會出現程式跑飛的現象導致出現死迴圈,看門狗電路就是為了避免這種情況的發生。看門狗的作用就是在一定時間內(通過定時計數器實現)沒有接收喂狗訊號(表示 MCU 已經掛了),便實

STM32的IWDG獨立看門)詳細用法

文章出處:https://www.cnblogs.com/Liu-Jing/p/7243029.html章參考資料:《STM32F4XX 中文參考手冊》IWDG 章節。1、IWDG簡介: STM32 有兩個看門狗,一個是獨立看門狗另外一個是視窗看門狗,獨立看門狗號稱寵物狗,視

stm8的獨立看門iwdg

看到自己以前寫的一篇關於stm8的文章,想到前兩天有個棘手的問題,stm8的獨立看門狗貌似沒有起作用,需要頻繁的喂狗,似乎預分頻和過載值沒有起作用 baidu以後才知道,stm8的iwdg的正常設定順序是先使能看門狗,在設定相關引數

STM32中的獨立看門IWDG

一. 簡述STM32中的看門狗系統     STM32F10xxx內建兩個看門狗,一個是IWDG(獨立看門狗),一個是WWDG(視窗看門狗),兩個看 門狗裝置(可用來檢測和解決由軟體錯誤引起的故障。     當計數器達到給定的超時值時,IWDG會產生系統復位。而WWDG會觸

STM32F0x2 IWDG獨立看門

微控制器系統在外界的干擾下會出現程式跑飛的現象導致出現死迴圈,看門狗電路就是為了避免這種情況的發生。 看門狗的作用就是在一定時間內(通過定時計數器實現)沒有接收喂狗訊號(表示 MCU 已經掛了),便實現處理器 的自動復位重啟(傳送復位訊號)。  以下為stm32f042微

STM32F1小白系列之四、獨立看門IWDG

一、看門狗原理 1、微控制器中有一個【暫存器(計數器)】專門用來倒計數,這個計數器倒計數是獨立於程式之外的,不受程式影響的。(程式是井,計數器是河,井水不犯河水,你跑你的程式,我記我的數,互不影響。) 2、但是: 這個【計數器】會有一個初值,這個值會逐次遞

m0系列函數獨立看門配置

看門狗 res rst sys logs class div handler rec 獨立看門口配置 //main.c 中main函數前 static void IWDG_Config(void) { RCC_LSICmd(ENABLE); /*!< Wait ti

stm32 獨立看門和窗口看門區別h5魚蝦蟹源碼出售

情況 企鵝 電路 判斷 默認 設置 如果 添加 正常 看門狗介紹看門狗這東西雖然簡單h5魚蝦蟹源碼出售(h5.hxforum.com) 聯系方式170618633533企鵝2952777280 微信Tel17061863533 源碼出售,售房卡出售,平臺出租,但我相信絕大

stm32 獨立看門和視窗看門區別

本文轉自: http://blog.sina.com.cn/s/blog_dc9571b90101isxs.html   1)獨立看門狗沒有中斷,視窗看門狗有中斷   2)獨立看門狗有硬體軟體之分,視窗看門狗只能軟體控制   3)獨立看

STM32之獨立看門與視窗看門總結

一、獨立看門狗 STM32 的獨立看門狗由內部專門的 40Khz 低速時鐘驅動,即使主時鐘發生故障,它也仍然有效。 看門狗的原理:微控制器系統在外界的干擾下會出現程式跑飛的現象導致出現死迴圈,看門狗電路就是為了避免這種情況的發生。看門狗的作用就是在一定時間內(通

看門獨立看門)與視窗看門的區別!

                 看門狗(獨立看門狗)與視窗看門狗的區別 在cortex-M系列晶片上有兩個看門狗:看門狗(獨立看門狗)和視窗看門狗。 1、相同點    

STM32待機模式喚醒測試以及獨立看門測試

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

[STM31F103]獨立看門

獨立看門狗步驟: l 取消暫存器防寫:   n IWDG_WriteAccessCmd(); l 設定獨立看門狗的預分頻係數,確定時鐘:   n IWDG_SetPrescaler(); l 設定看門狗重灌載值,確定溢位時間:   n I

STM32 嵌入式學習入門 —— 視窗看門 & 獨立看門

STM32的視窗看門狗 & 獨立看門狗 一、看門狗概述: 1.為什麼需要看門狗? 在由微控制器構成的微型計算機系統中,由於微控制器的工作常常會受到來自外界電磁場的干擾,造成程式的跑飛,而陷入死迴圈,程式

stm8s 獨立看門和視窗看門的程式碼

void WWDG_INI(void) {         WWDG_WR = 0x60; //看門狗視窗值,視窗值必須在0x3F以上,但必須小於計數值,否則無法喂狗    WWDG_CR     &

STM32之獨立看門和視窗看門定時器

STM32F10系列晶片內建了2個看門狗,提高了更高的安全性等好處。獨立看門狗(IWDG)是由專門的40KHz的低速時鐘驅動,即使主時鐘發生故障也仍然有效。 IWDG的主要特徵有自由執行的遞減計數器,時鐘由獨立的RC振盪器提供,看門狗被啟用後,則在計數器計數至0x000時產

ARM開發(7)基於STM32的獨立看門

基於STM32的獨立看門狗 一 獨立看門狗原理: 1.1 本實驗實現STM32的獨立看門狗 1.2 實驗思路:理解STM32獨立看門狗原理,根據其原理寫驅動。 1.3 開發環境 : MDK5 庫函式版本開發 JLINK模擬