娇小w搡bbbb搡bbb,《第一次の人妻》,中国成熟妇女毛茸茸,边啃奶头边躁狠狠躁视频免费观看

歷史上的今天

今天是:2025年04月23日(星期三)

正在發生

2019年04月23日 | STM32的窗口看門狗(WWDG)

發布者:leader4 來源: eefocus關鍵字:STM32  窗口看門狗  WWDG 手機看文章 掃描二維碼
隨時隨地手機看文章

一、窗口看門狗由從APB1時鐘分頻后得到時鐘驅動。


             通過可配置的時間窗口來檢測應用程序非正常的過遲或過早操作。 


             窗口看門狗最適合那些要求看門狗在精確計時窗口起作用的程序。


二、什么是窗口看門狗?


窗口就是因為其喂狗時間是一個有上下限的范圍內(窗口),你可以通過設定相關寄存器,設定其上限時間(下限固定)。喂狗的時間不能過早也不能過晚。


而獨立看門狗限制喂狗時間在0-x內,x由相關寄存器決定。喂狗的時間不能過晚


三、窗口看門狗的好處


對于一般的看門狗,因為是在復位前的任意時刻刷新看門狗,但有可能程序跑亂了又跑回到正常的地方,或跑亂的程序正好執行了刷新看門狗操作,這樣的情況下就檢測不出來了;


       如果使用窗口看門狗,程序員可以根據程序正常執行的時間設置刷新看門狗的一個時間窗口,保證不會提前也不會滯后刷新看門狗,這樣可以檢測出程序沒有按照正常的路徑運行非正常地跳過了某些程序段的情況。


 


四、窗口看門狗工作示意圖及框圖


 


上窗口值W[6:0]必須大于下窗口值0x40。否則就無窗口了


工作示意圖

五、產生復位的幾種條件


STM32F的窗口看門狗中有一個7位的遞減計數器T[6:0],它會在出現下述2種情況之一時產生看門狗復位:


①當喂狗的時候如果計數器的值大于某一設定數值W[6:0]時,此設定數值在WWDG_CFR寄存器定義。


②當計數器的數值從0x40減到0x3F時【T6位跳變到0】。


如果啟動了看門狗并且允許中斷,當遞減計數器等于0x40時產生早期喚醒中斷(EWI),它可以用于喂狗以避免WWDG復位。


六、窗口看門狗配置過程


①使能看門狗時鐘:


    RCC_APB1PeriphClockCmd();


② 設置分頻系數:


    WWDG_SetPrescaler();


③設置上窗口值:


    WWDG_SetWindowValue();


④開啟提前喚醒中斷并分組(可選):


    WWDG_EnableIT();  


    NVIC_Init();


⑤使能看門狗:


    WWDG_Enable();


⑥喂狗:


   WWDG_SetCounter();


⑦編寫中斷服務函數


  WWDG_IRQHandler();


-------------------------------------------------------------------------------------------------------


代碼如下:


void init_wwdg(void)

{

    NVIC_InitTypeDef   NVIC_InitStructure;

 

    //使能wwdg時鐘

    RCC_APB1PeriphClockCmd(RCC_APB1Periph_WWDG, ENABLE);

 

    // WWDG_CNT=0x7F&WWDG_CNT;   //初始化WWDG_CNT.

 

 

    //設置看門狗時鐘  1281Hz = (PCLK1 (42MHz)/4096)/8 = 1281 Hz (~780 us) 

    //指定WWDG預分頻器

    WWDG_SetPrescaler(WWDG_Prescaler_8);//Prescaler:計數器時鐘

 

    //設置窗口值為80; WWDG計數器只有在計數器時才能刷新低于80(大于64),否則會產生復位

    WWDG_SetWindowValue(0x60);

 

    //設置重載計數值,也就是喂狗

    WWDG_Enable(0x7f);

 

 

    // 初始化中斷

    NVIC_InitStructure.NVIC_IRQChannel = WWDG_IRQn; // EXTI0的中斷向量號

    NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 3; // 搶占優先級

    NVIC_InitStructure.NVIC_IRQChannelSubPriority = 3;  // 響應優先級

    NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; // 使能中斷

    NVIC_Init(&NVIC_InitStructure);

 

    // 清空提前喚醒中斷的標志位

    WWDG_ClearFlag();

 

    // 使能提前喚醒中斷

    WWDG_EnableIT();

}

 

 

//當遞減計數器遞減到0x40時,觸發中斷函數,進行喂狗

void WWDG_IRQHandler(void)

{

    if(WWDG_GetFlagStatus() == SET)

    {

        // 喂狗

        WWDG_SetCounter(127);

        //WWDG_SetCounter(WWDG_CNT);

        //清空提前喚醒中斷的標志位

        WWDG_ClearFlag();

    }

}

 

關鍵字:STM32  窗口看門狗  WWDG 引用地址:STM32的窗口看門狗(WWDG)

上一篇:STM32的ADC的原理與使用
下一篇:STM32的獨立看門狗(IWDG)

推薦閱讀

根據日本媒體報道,索尼日前宣布與美國卡內基梅隆大學簽署合同,計劃共同研發搭載人工智能(AI)的機器人。第一批將研究可烹飪并送餐的機器人。據介紹,研發的機器人將負責從菜單選擇到烹飪、上菜、送餐的一系列流程,索尼力爭5年以內實現部分技術的實際運用。據悉,索尼正在收集未來可能有需求的功能,通過今后的研究有望擴大至各項業務。今年1月,索尼對...
迅速創建差異化、定制化的軟件,提供卓越的客戶體驗,是軟件開發人員當下面臨的主要挑戰。為了應對這個挑戰,他們往往依賴于開源組件以快速添加應用程序功能。這也帶來了新的問題:開源組件安全性和合規性。面對軟件組件的分析工具也應運而生。 美國新思科技公司(Synopsys, Nasdaq: SNPS)近日宣布其在權威獨立調研公司Forrester Wave?發布的《2019年第...
本章以串口為例講解,HAL 庫輪詢,中斷,DMA 三種編程模型。1.前情回顧在串行通信中,一個字符一個字符地傳輸,每個字符一位一位地傳輸,并且傳輸一個字符時,總是以“起始位”開始,以“停止位”結束。在進行傳輸之前,雙方一定要使用同一個波特率設置。波特率就是每秒鐘傳輸的數據位數。常用的兩種基本串行通信方式包括同步通信和異步通信。我們通常使...
1 引 言通常情況下,打印機、海量存儲等設備是由普通PC機來驅動的,由于大量的測控、醫療等系統需要存儲、打印數據,因此開發這類設備的嵌入式驅動是非常有實用價值的。目前,各種嵌入式設備基本上是通過軟盤存儲,并口打印的,而它們的存儲容量、數據傳輸速度已大大落后當前各類嵌入式系統的需求。因此,開發基于USB接口的嵌入式海量存儲設備和打印機驅...

史海拾趣

問答坊 | AI 解惑

sos 緊急求教modbus協議的數據采集系統

[ip]快畢業了,畢業論文是 基于modbus協議的數據采集系統,不知道各位高手們有沒有想要對我這個笨笨知道的地方.謝謝,謝謝,十分感謝.…

查看全部問答∨

恩智浦Cortex開發板免費申請

一直看好了NZP產品的質量,對LPC系列也很關注。希望這次能夠申請成功?!?

查看全部問答∨

SQL如何將數據自動顯示到終端

如何將控制臺數據自動分工位顯示到終端 例: 工位號分為  A 、B 、C 、D 、E 、F      分別顯示到 A 、B 、C 、D 、E 、F 終端 …

查看全部問答∨

請教問題,單片機如何實現與pc通過網口通信

想做個東西,簡單來講就是通過外部設備給單片機一個開關信號,然后通過單片機告訴PC,再由PC根據信號進行程序處理,PC串口已經占用,所以用網口來實現。 單片機能否直接做協議轉換,還是還要通過一個專用芯片來做,請兄弟們幫忙提出一個解決方案。…

查看全部問答∨

高端中斷向量表是什么意思?

問題1:高端中斷向量是什么意思?以IRQ中斷為例,中斷產生后先是跳到0x18處,然后再跳到中斷處理函數,這是不是就是所謂的低端中斷向量? 問題2:如果是高端中斷向量,是不是irq中斷發生后,并不是跳到0x18處,而是跳到自己指定的地址? 問題3: ...…

查看全部問答∨

WinCE Driver 開發新手問題

各位大俠:小弟現需在WinCE5.0開發wifi driver,以前完全沒有相關經驗,完全沒有概念,模不著頭腦,問題真的很多。感覺微軟本身的文檔挺混亂的,說的也不怎么具體,大家有沒有好的教材?最好可以可以手把手教這個開發過程的?。ǖ谝徊阶鍪裁?,第二 ...…

查看全部問答∨

Altium Designer 6 經典教程資料

收集到很多關于Altium Designer 資料,希望對大家有所幫助。 [ 本帖最后由 熊貓 于 2010-12-23 20:17 編輯 ]…

查看全部問答∨

誰有fft的源代碼

我想問問群里誰有fft的源代碼 可以實現任意點數的  包括他的頭文件 課本上有個c++程序,但是沒有complex.h的頭文件啊…

查看全部問答∨

Cortex M3學習筆記(一)--Systick的應用

這篇學習筆記,完全是基于《STM32不完全手冊》而言的,我沒有買Alientek的開發板,買的是ARMFly的,其實都差不多,只不過安福萊的板載資源非常豐富罷了,應用起來其實都差不都。 《STM32不完全手冊》的51到56頁就是要這次筆記學習的內容,請自己參 ...…

查看全部問答∨
小廣播
設計資源 培訓 開發板 精華推薦

最新單片機文章
何立民專欄 單片機及嵌入式寶典

北京航空航天大學教授,20余年來致力于單片機與嵌入式系統推廣工作。

 
EEWorld訂閱號

 
EEWorld服務號

 
汽車開發圈

 
機器人開發圈

電子工程世界版權所有 京ICP證060456號 京ICP備10001474號-1 電信業務審批[2006]字第258號函 京公網安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 皮山县| 武威市| 滨州市| 玉门市| 临江市| 新巴尔虎右旗| 宿松县| 萨嘎县| 金溪县| 米泉市| 确山县| 南投市| 上犹县| 石阡县| 汪清县| 温州市| 新宁县| 疏附县| 衢州市| 通山县| 申扎县| 天祝| 仙居县| 建德市| 安乡县| 定南县| 莱芜市| 连州市| 宜兰市| 武川县| 建瓯市| 上栗县| 会昌县| 三门峡市| 宁安市| 江都市| 泰州市| 新营市| 德保县| 天柱县| 赤水市|