1. 程式人生 > >STM32F0xx_看門狗(獨立+視窗)配置詳細過程

STM32F0xx_看門狗(獨立+視窗)配置詳細過程

、概述

對於看門狗,我覺得做微控制器或者嵌入式開發的人員來說並不陌生,今天總結STM32F0看門狗的功能,F0的看門狗有兩種:獨立和視窗看門狗。

今天提供兩種看門狗的軟體工程例項,供大家下載。

兩種看門狗各有各的特點,應用在不同的場合,下面將分別簡單總結一下獨立和視窗看門狗的功能。

本著免費分享的原則,方便大家手機學習知識,每天在微信分享技術知識。如果你覺得分享的內容對你有用,又想了解更多相關的文章,請用微信搜尋“EmbeddDeveloper” 或者掃描下面二維碼、關注,將有更多精彩內容等著你。

 

Ⅱ、下載

文章提供的“軟體工程”都是在硬體板子上進行多次測試、並保證沒問題才上傳至360雲盤,請放心下載測試,如有問題請檢查一下你的板子是否有問題。

ST標準外設庫和參考手冊、資料手冊等都可以在ST官網下載,你也可以到我的360雲盤下載。關於F0系列晶片的參考手冊有多個版本(針對F0不同晶片),但有一個通用版本,就是“STM32F0x128參考手冊V8(英文)2015-07”建議參考該手冊,以後如果你換用一種型號晶片也方便了解。

今天的軟體工程下載地址(360雲盤):

IWDG獨立看門狗:

WWDG視窗看門狗:

STM32F0xx的資料可以在我360雲盤下載:

Ⅲ、準備工作

對於看門狗的程式設計,建議大家準備F0的參考手冊和資料手冊,方便查閱相關知識,沒有的請到ST官網或到我360雲盤下載。

今天總結的軟體工程是基於“TIM基本延時配置詳細過程”修改而來,因此需要將該軟體工程下載準備好。我每次都是提供整理好的軟體工程供大家下載,但是,如果你是一位學習者,建議自己親手一步一步操作。

Ⅳ、看門狗原理

①IWDG獨立看門狗

獨立看門狗由內部低速時鐘LSI提供計數時鐘,8 位分頻,12位計數,需要定期喂狗(過載數值 ReloadCounter),如果計數值減為0了,還沒有過載數值,則會響應復位事件。

 

②WWDG視窗看門狗

視窗看門狗由APB1(RCC_APB1Periph_WWDG)提供計數時鐘,2 位分頻,7位計數,需要定期喂狗(更新計數值),如果計數值減為0x40了,還未更新計數值,則會響應復位事件。

 

Ⅴ、程式碼描述

今天提供兩種看門狗軟體工程,下面分別來總結一下,主要講解配置的函式介面。

①IWDG獨立看門狗


該函式位於main.c檔案上面;

過載數值的計算請結合上面的結構框圖配合函式原始碼,從函式中可以看的出來,只要0.5s。

執行效果


喂狗最大時間500ms(理論值),但內部低速時鐘LSI存在誤差,建議修改測試時間:小於450,大於550;

小於450ms: 正常喂狗,串列埠間隔列印"Running..."LED變化;

大於550ms: 喂狗超時,系統復位,串列埠列印"System Reset..."

②WWDG視窗看門狗


該函式位於main.c檔案上面;

這裡的時鐘和上面IWDG的時鐘不同,結合框圖也看得出了經過分頻之後計數的值也是計算的出來的。

執行效果


喂狗最大時間43ms(理論值),但串列埠列印需要一兩毫秒,建議修改測試時間:小於41,大於43;

小於41ms: 正常喂狗,串列埠間隔列印"Running..."LED變化;

大於43ms: 喂狗超時,系統復位,串列埠列印"System Reset..."

③總結一下二者的區別

1)、IWDG使用內部低速時鐘LSI,WWDG使用系統時鐘APB1ENR

2)、IWDG沒有中斷,WWDG有中斷

3)、IWDG是12位遞減的。WWDG是7位遞減的

4)、IWDG只有下限,WWDG有下限和上限

5)、IWDG最適合應用於那些需要看門狗作為一個在主程式之外,能夠完全獨立工作,並且對時間精度要求較低的場合。 WWDG最適合那些要求看門狗在精確計時視窗起作用的應用程式。

看門狗在長期工作的產品中用到比較多,作用很簡單,防止宕機。看門狗的功能也可用於定時計數等。

Ⅵ、說明

或許你硬體晶片不是提供工程裡面的晶片,但是STM32F0的晶片軟體相容性很好,可以適用於F0其他很多型號的晶片,甚至是F2、F4等晶片上(具體請看手冊、或者親自測試)。

本文章提供的軟體工程是基於ST標準外設庫為基礎建立而成,而非使用STM32CubeMX建立工程。個人覺得使用ST的標準外設庫適合與學習者,STM32CubeMX建立工程結構複雜,對於學習者,特別是初學者估計會頭疼。

今天的工程是基於工程“STM32F0xx_TIM基本延時配置詳細過程”修改而來,以上例項總結僅供參考,若有不對之處,敬請諒解。

Ⅶ、最後

關注微信,回覆“更多內容”,將獲得更多內容(如:UCOS例項等,不斷更新中......)。

如果你喜歡我分享的內容,你又想了解更多相關內容,請關注文章開頭的微信公眾號,新內容持續更新中,後期將會有更多精彩內容出現。

閱讀原文

相關推薦

STM32F0xx_看門獨立+視窗配置詳細過程

Ⅰ、概述 對於看門狗,我覺得做微控制器或者嵌入式開發的人員來說並不陌生,今天總結STM32F0看門狗的功能,F0的看門狗有兩種:獨立和視窗看門狗。 今天提供兩種看門狗的軟體工程例項,供大家下載。 兩種看門狗各有各的特點,應用在不同的場合,下面將分別簡單總結一下獨立和視窗看門

STM32F1_WDG看門獨立+視窗

前言 今天總結“STM32F103 WDG看門狗”,STM32F1有兩個看門狗,IWDG獨立看門狗和WWDG視窗看門狗,今天將兩個看門狗一併總結了。 總結一下二者的區別: 1)、IWDG使用內部低速時鐘LSI,WWDG使用系統時鐘APB1ENR 2)、IWDG沒有中斷,WW

STM32F030C6看門獨立+視窗詳細配置

1、(IWDG獨立看門狗) 獨立看門狗由內部低速時鐘LSI提供計數時鐘,8 位分頻,12位計數,需要定期喂狗(過載數值 ReloadCounter),如果計數值減為0了,還沒有過載數值,則會響應復位事件。 獨立看門狗的配置程式碼: 總結:在1.6s內喂狗正常執行

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

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

stm32 看門HAL庫

(一)概述 stm32有兩個看門狗:硬體看門狗(LSI 40KHz)和視窗看門狗(APB1)。 (二)硬體看門狗實現程式碼 IWDG_HandleTypeDef hiwdg; // 硬體看門狗初始化 static void MX_IWDG_Init(IWDG_Hand

VMware Tools ubuntu系統安裝詳細過程與使用

前一段時間博主在VMware虛擬機器上安裝了Ubuntu系統,如果還沒有安裝的同學可以參考博主上一篇文章:VMware Ubuntu安裝詳細過程。 猿友們都知道linux不太好用,如果你想將你主機Windows上的檔案或安裝包放到虛擬機器上,VMware Tools是必

VMware Tools ubuntu系統安裝詳細過程與使用適合沒有linux基礎的

下面我們快捷鍵Ctrl+Alt+T,啟動命令框,然後切換到root使用者(切換命令為:sudo su,回車然後會提示你輸入當前登入使用者的密碼,輸入成功後即可進入root使用者): 在執行完sudo

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

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

Jetty入門1-2配置Jetty - 獨立運行模式

https monitored log www rtu mon 方式 新版本 demo 本文詳述如何安裝和配置Jetty服務器,主要講述Jetty的獨立運行模式(Standalone)。隨後介紹它的配置選項,以及模塊化的架構。 Jetty有獨立運行模式、嵌入運行模式和J

基於S3C2440的嵌入式Linux驅動——看門watchdog驅動解讀

csdn note 動作 strong 申請 信號 error started 讀者 本文將介紹看門狗驅動的實現。 目標平臺:TQ2440 CPU:s3c2440 內核版本:2.6.30 1. 看門狗概述 看門狗其實就是一個定時器,當該定時器溢出前必須對看門狗進

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

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

試用vSphere 6:安裝vCenter 6獨立資料庫之:vCenter安裝與配置

—————————————————————————————————————————- 一、VMware vSphere 6(RC版)安裝配置系列文章: 三、整個實驗環境如下: 資料中心名稱:DataCenter  ESXi叢集名稱:Cluster  域:vsp

哈爾濱理工大學第七屆程式設計競賽初賽高年級組F.苦逼單身滑動視窗 or DP or 二分

思路:滑動視窗 or DP or 二分。滑動視窗:#include <bits/stdc++.h> using namespace std; const int MAXN = 100005;

視窗看門獨立看門區別

最近在cortex-M系列晶片上進行看門狗程式設計的時候發現了關於看門狗有兩個:(獨立)看門狗和視窗看門狗。然後就查找了下網路資源,對這兩個看門狗做了區分。1、相同點    都是為了保證CPU程式跑飛2、獨立看門狗    根據內部看門狗時鐘頻率,裝載暫存器定一個時間值,比如是

openstack controller ha測試環境搭建記錄十四——配置cinder存儲節點

nbsp 設置 ntp reason script snap rate 文件 esc 先簡述cinder存儲節點的配置: 1、IP地址是10.0.0.41; 2、主機名被設置為block1; 3、所有節點的hosts文件已添加相應條目; 4、已經配置了ntp時間同

openstack controller ha測試環境搭建記錄十一——配置neutron網絡節點

efault delete none _for set ext ranges tar edr 在網絡節點配置內核參數:vi /etc/sysctl.confnet.ipv4.ip_forward=1net.ipv4.conf.all.rp_filter=0net.ipv4.

紅帽7centos 7配置VSFTP

ftp centos 老唐 紅帽7(centos 7)配置vsftp laotang VSFTP是一個基於GPL發布的類Unix系統上使用的FTP服務器軟件,它的全稱是Very Secure FTP 從此名稱可以看出來,編制者的初衷是代碼的安全。它是一個安全、高速、穩定的FTP服務器。vs

Nginx配置文件nginx.conf配置詳解

最好 緩沖區 網絡io dev mp3 forward val eight 超時 Nginx的配置文件nginx.conf配置詳解如下: user nginx nginx ; Nginx用戶及組:用戶 組。window下不指定 worker_process

spring-boot-starter-actuator健康監控配置和使用

frame maven git 追蹤 包括 屬性 per dump zookeepe 在生產環境中,需要實時或定期監控服務的可用性。Spring Boot的actuator(健康監控)功能提供了很多監控所需的接口,可以對應用系統進行配置查看、相關功能統計等。 集成:

[轉載]nginx負載均衡+keepalived三主多主配置

rtu bucket 次數 with 信息 .gz plain int x86_64 nginx負載均衡+keepalived三主(多主)配置 1.實驗環境,實現目標三臺主機分別配置nginx負載均衡對後端多臺主機做轉發,同時配置keepalived實現HA,保證任意主機出