日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【STM32】stm32独立看门狗(IWDG)

發布時間:2024/3/12 编程问答 46 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【STM32】stm32独立看门狗(IWDG) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

stm32獨立看門狗(IWDG)

  • 0x01 IWDG簡介
  • 0x02 IWDG主要性能
  • 0x03 IWDG寄存器配置

0x01 IWDG簡介

STM32F10xxx內置兩個看門狗,(獨立看門狗和窗口看門狗)可用來檢測和解決由軟件錯誤引起的故障;當計數器達到給定的超時值時,觸發一個中斷(僅適用于窗口型看門狗)或產生系統復位

獨立看門狗(IWDG)由專用的低速時鐘(LSI)驅動,即使主時鐘發生故障它也仍然有效。IWDG最適合應用于那些需要看門狗作為一個在主程序之外,能夠完全獨立工作,并且對時間精度要求較低的場合

0x02 IWDG主要性能

● 自由運行的遞減計數器
● 時鐘由獨立的RC振蕩器提供(可在停止和待機模式下工作)
● 看門狗被激活后,則在計數器計數至0x000時產生復位

0x03 IWDG寄存器配置

1. 鍵寄存器(IWDG_KR)

位31:16保留,始終讀為0。
位15:0 w軟件必須以一定的間隔寫入0xAAAA(喂狗),否則,當計數器為0時,看門狗會產生復位。
位15:0 w寫入0x5555表示允許訪問IWDG_PR和IWDG_RLR寄存器。
位15:0 w寫入0xCCCC,啟動看門狗工作。

2. 預分頻寄存器(IWDG_PR)

位31:3保留,始終讀為0。
位2:0 rw000: 預分頻因子=4 100: 預分頻因子=64
位2:0 rw001: 預分頻因子=8 101: 預分頻因子=128
位2:0 rw010: 預分頻因子=16 110: 預分頻因子=256
位2:0 rw011: 預分頻因子=32 111: 預分頻因子=256

3. 重裝載寄存器(IWDG_RLR)

位31:12保留,始終讀為0。
位11:0 rw看門狗計數器重裝載值(625)

IWDG配置分析
獨立看門狗工作頻率:40khz / 64分頻 = 625hz
遞減計數器減1的周期:1 / 625hz
獨立看門狗的復位時間:625 * (1 / 625hz) = 1s

IWDG配置參考代碼

#include "bsp_iwdg.h"//使能IWDG,在40KHz LSI下,約等于每隔1s產生IWDG復位 void IWDG_Configuration(void) {IWDG_WriteAccessCmd(IWDG_WriteAccess_Enable); //使能或者失能對寄存器 IWDG_PR 和 IWDG_RLR 的寫操作IWDG_SetPrescaler(IWDG_Prescaler_64); //設置 IWDG 預分頻值IWDG_SetReload(625); //設置 IWDG 重裝載值IWDG_ReloadCounter(); //按照 IWDG 重裝載寄存器的值重裝載 IWDG 計數器,喂狗IWDG_Enable(); //使能 IWDG }//喂狗,防止CPU復位 void IWDG_FeedDog(void) {IWDG_ReloadCounter(); }

總結

以上是生活随笔為你收集整理的【STM32】stm32独立看门狗(IWDG)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。