99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

看門狗定時中斷功能的運(yùn)行情況分析

h1654155282.3538 ? 來源:老馬識途單片機(jī) ? 作者:老馬識途單片機(jī) ? 2021-05-01 16:08 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

1、看門狗時鐘

講解下看門狗的定時中斷功能。既然提到了定時功能,那就需要先介紹下看門狗的時鐘系統(tǒng)。

看門狗定時器模塊使用兩個時鐘:PCLK和WDCLK。PCLK由系統(tǒng)時鐘生成,供APB 訪問看門狗寄存器使用。WDCLK由看門狗時鐘振蕩器中的wdt_clk生成,供看門狗定時器計數(shù)使用。wdt_clk時鐘可以從IRC和看門狗振蕩器中選擇一個作為時鐘源。

這兩個時鐘源之間存在一些同步邏輯。當(dāng)MOD和TC寄存器通過APB操作更新時,新的值將由WDCLK時鐘設(shè)定并生效。當(dāng)看門狗定時器處于WDCLK時鐘周期時,同步邏輯會先鎖定WDCLK上計數(shù)器的值,然后使其與PCLK同步,以作為TV寄存器的值供 CPU 讀取。

2、看門狗中斷

首先介紹下看門狗警告中斷比較值寄存器(WDWARNINT寄存器),它決定產(chǎn)生看門狗警告中斷的看門狗定時器值。當(dāng)計數(shù)器的低10位與WARNINT的10位具有相同值,且計數(shù)器其余高位均為0時,便觸發(fā)看門狗警告中斷。如例圖所示,設(shè)置看門狗中斷比較值寄存器的定時值位0x3FF,當(dāng)看門狗計數(shù)器到03FF時,看門狗中斷觸發(fā)。

o4YBAGB5RkSADT-pAACp82p43B4151.png

圖1 看門狗中斷

除了看門狗警告中斷之外,還有看門狗超時中斷。這個是通過看門狗模式寄存器的WDRESET位置1,來選擇看門狗超時引發(fā)中斷。模式寄存器的WDTOF位就是看門狗超時標(biāo)志位。在看門狗超時、發(fā)生喂狗錯誤或當(dāng) WDPROTECT=1 且嘗試向 WDTC 寄存器寫入時,便會設(shè)置看門狗超時標(biāo)志。通過軟件向此位寫入 0 可將該標(biāo)志清零。 WDTOF 位置 1,都可以觸發(fā)中斷。在任何情況下,非看門狗超時引起的看門狗超時標(biāo)志置位都不會觸發(fā)系統(tǒng)復(fù)位。

3、看門狗中斷例程

接下來寫個小例程來測試下看門狗定時中斷功能的運(yùn)行情況,程序源碼如下。

int main(void)

{

//初始化串口

PA_2_INIT(PA_2_TX0);

UART_Open(UART0,9600,UART_NO_PARITY,0);

UART_PutString(UART0,“System Reset.。。”);//Send System Inital String

WDT_Init ();//看門狗初始化

WDT_SetIntervalinMiliSec(4000);//設(shè)置看門狗超時時間4秒

WDT-》WARNINT_b.WARNINT = 0x3FF;//警告中斷定時值設(shè)置為最大值,方便演示

NVIC_EnableIRQ(WDT_IRQn);//設(shè)置看門狗NVIC中斷

WDT_Enable_Timer;//啟動看門狗

WDT_Feed();//喂狗

while(1);

}

void WDT_IRQHandler(void)//看門狗中斷服務(wù)子程序

{

if(WDT-》MOD_b.WDINT == 1)//警告中斷

{

WDT_Feed();

UART_PutString(UART0,“WDT Warning Int.。。”);

UART_ByteWrite(UART0,‘\n’);

}

if(WDT-》MOD_b.WDTOF == 1)//超時中斷

{

WDT_Feed();

UART_PutString(UART0,“WDT Timeout Int.。。”);

UART_ByteWrite(UART0,‘\n}

WDT_ClearIntFlag();//清除看門狗中斷

return;

}

例程首先對串口進(jìn)行初始化,然后串口輸出提示系統(tǒng)復(fù)位。隨后就是看門狗的初始化。將看門時間設(shè)置為4秒鐘,并且為中斷模式。并且使能看門狗中斷。在看門狗中斷服務(wù)程序中,根據(jù)觸發(fā)的中斷不同,輸出相應(yīng)的提示信息。

程序編譯無誤后,便可以下載仿真調(diào)試了。首先全速運(yùn)行,看下串口輸出的信息。根據(jù)輸出的信息我們發(fā)現(xiàn)只有看門狗警告中斷信息輸出,并沒有超時中斷信息。這是因為在警告中斷發(fā)生后及時進(jìn)行了喂狗操作。所以看門狗并不會超時。

pIYBAGB5RkyAfiD_AABOlQ0FzjI048.png

圖2 看門狗中斷實例1

接下來我們可以把看門狗警告中斷的喂狗函數(shù)WDT_Feed()屏蔽掉,然后再下載仿真看看效果。這時候我們就會看到看門狗超時中斷的信息輸出。因為警告中斷后沒有及時喂狗操作,導(dǎo)致看門狗超時發(fā)生。

pIYBAGB5RlKAQ4RoAABeOt6_SXM488.png

圖3 看門狗中斷實例2
責(zé)任編輯人:CC

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 看門狗
    +關(guān)注

    關(guān)注

    10

    文章

    583

    瀏覽量

    71825
  • 定時中斷
    +關(guān)注

    關(guān)注

    0

    文章

    19

    瀏覽量

    8707
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    STM32中的獨(dú)立看門狗和窗口看門狗是什么

    在早期的MCU中是沒有看門狗這種東西的,所以產(chǎn)品就很容易出現(xiàn)死機(jī),跑飛的情況。為了避免這種情況的出現(xiàn),后期的MCU都集成了看門狗功能。但是
    的頭像 發(fā)表于 02-20 17:47 ?3453次閱讀
    STM32中的獨(dú)立<b class='flag-5'>看門狗</b>和窗口<b class='flag-5'>看門狗</b>是什么

    什么是看門狗?

    一定的的裕量。而T1的中斷正常與否我們再由T0定時中斷子程序來監(jiān)視。這樣就夠成了一個循環(huán),T0監(jiān)視T1,T1監(jiān)視主程序,主程序又來監(jiān)視T0,從而保證系統(tǒng)的穩(wěn)定運(yùn)行。   51 系列有專門的看門
    發(fā)表于 06-16 15:08

    看門狗定時器的設(shè)計、工作原理及看門狗定時器的操作

    看門狗定時器(WDT,Watch Dog Timer)是單片機(jī)的一個組成部分,它實際上是一個計數(shù)器,一般給看門狗一個數(shù)字,程序開始運(yùn)行看門狗
    發(fā)表于 05-23 09:14 ?8238次閱讀
    <b class='flag-5'>看門狗</b><b class='flag-5'>定時</b>器的設(shè)計、工作原理及<b class='flag-5'>看門狗</b><b class='flag-5'>定時</b>器的操作

    看門狗喂狗時間及程序

    什么是看門狗定時看門狗定時器(WDT,Watch Dog Timer)是單片機(jī)的一個組成部分,它實際上是一個計數(shù)器,一般給看門狗一個數(shù)字
    發(fā)表于 10-16 09:19 ?1.8w次閱讀

    看門狗定時器的作用

    看門狗定時器(WDT,Watch Dog Timer)是單片機(jī)的一個組成部分,它實際上是一個計數(shù)器,一般給看門狗一個數(shù)字,程序開始運(yùn)行看門狗
    發(fā)表于 10-20 14:41 ?6968次閱讀

    STM32看門狗配置(獨(dú)立看門狗IWDG和窗口看門狗WWDG)

    stm32自帶兩個看門狗模塊,獨(dú)立看門狗IWDG和窗口看門狗WWDG。看門狗主要作用是可用來檢測和解決由軟件錯誤引起的故障;當(dāng)計數(shù)器達(dá)到給定的超時值時,觸發(fā)一個
    發(fā)表于 11-09 17:17 ?8592次閱讀
    STM32<b class='flag-5'>看門狗</b>配置(獨(dú)立<b class='flag-5'>看門狗</b>IWDG和窗口<b class='flag-5'>看門狗</b>WWDG)

    基于VxWorks的看門狗定高效定時機(jī)制設(shè)計實現(xiàn)

    VxWorks提供了一個看門狗定時器(watchDog timer),它由以下四個函數(shù)維護(hù): wdCreate( ) 創(chuàng)建并初始化一個看門狗定時器;wdDelete( ) 終止并
    發(fā)表于 03-06 09:22 ?5098次閱讀
    基于VxWorks的<b class='flag-5'>看門狗</b>定高效<b class='flag-5'>定時</b>機(jī)制設(shè)計實現(xiàn)

    軟件看門狗和硬件看門狗的作用和區(qū)別

    。  工作原理:在系統(tǒng)運(yùn)行以后也就啟動了看門狗的計數(shù)器,看門狗就開始自動計數(shù),如果到了一定的時間還不去清看門狗,那么看門狗計數(shù)器就會溢出從而
    的頭像 發(fā)表于 10-15 17:29 ?4w次閱讀

    看門狗定時器的相關(guān)問題和實驗說明

    進(jìn)入中斷。在定時中斷中執(zhí)行一些復(fù)位操作,使系統(tǒng)恢復(fù)正常的工作狀態(tài),即在程序沒有正常運(yùn)行期間,如期復(fù)位看門狗以保證所選擇
    的頭像 發(fā)表于 10-06 12:59 ?4971次閱讀
    <b class='flag-5'>看門狗</b><b class='flag-5'>定時</b>器的相關(guān)問題和實驗說明

    arduino看門狗

    簡介??看門狗定時器是單片機(jī)的一個組成部分,在單片機(jī)程序的調(diào)試和運(yùn)行中都有著重要的意義。看門狗定時器(WDT,Watch Dog Timer
    發(fā)表于 11-15 19:06 ?18次下載
    arduino<b class='flag-5'>看門狗</b>

    arduino看門狗的使用

    簡介??看門狗定時器是單片機(jī)的一個組成部分,在單片機(jī)程序的調(diào)試和運(yùn)行中都有著重要的意義。??看門狗定時器(WDT,Watch Dog Tim
    發(fā)表于 12-09 09:36 ?7次下載
    arduino<b class='flag-5'>看門狗</b>的使用

    STM32中的獨(dú)立看門狗和窗口看門狗

    一、前言 在早期的MCU中是沒有看門狗這種東西的,所以產(chǎn)品就很容易出現(xiàn)死機(jī),跑飛的情況。為了避免這種情況的出現(xiàn),后期的MCU都集成了看門狗功能
    的頭像 發(fā)表于 12-22 16:58 ?2565次閱讀

    STM32中的獨(dú)立看門狗和窗口看門狗

    在早期的MCU中是沒有看門狗這種東西的,所以產(chǎn)品就很容易出現(xiàn)死機(jī),跑飛的情況。為了避免這種情況的出現(xiàn),后期的MCU都集成了看門狗功能。但是
    的頭像 發(fā)表于 01-30 14:38 ?1769次閱讀
    STM32中的獨(dú)立<b class='flag-5'>看門狗</b>和窗口<b class='flag-5'>看門狗</b>

    MCU如何集成看門狗功能

    一、前言 在早期的MCU中是沒有看門狗這種東西的,所以產(chǎn)品就很容易出現(xiàn)死機(jī),跑飛的情況。為了避免這種情況的出現(xiàn),后期的MCU都集成了看門狗功能
    的頭像 發(fā)表于 06-22 09:09 ?2340次閱讀
    MCU如何集成<b class='flag-5'>看門狗</b>的<b class='flag-5'>功能</b>

    什么是看門狗,工業(yè)路由器看門狗技術(shù)的功能優(yōu)勢

    工業(yè)路由器大多都會配備看門狗技術(shù),它是保證工業(yè)路由器傳輸過程中連續(xù)24小時不宕機(jī)的重要保護(hù)技術(shù),那么,什么是看門狗呢?▍看門狗功能看門狗,又叫watchdog,從本質(zhì)上來說就是一個
    的頭像 發(fā)表于 03-27 10:16 ?2448次閱讀
    什么是<b class='flag-5'>看門狗</b>,工業(yè)路由器<b class='flag-5'>看門狗</b>技術(shù)的<b class='flag-5'>功能</b>優(yōu)勢