欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5084|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

眾拳STM8窗口看門狗(WWDG)實(shí)驗(yàn)詳解 附源程序

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:170279 發(fā)表于 2017-12-16 14:56 | 只看該作者 |只看大圖 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式

窗口看門狗介紹
窗口看門狗用于監(jiān)測由于外部干擾或不可預(yù)知的邏輯條件所產(chǎn)生的軟件錯(cuò)誤,這樣的軟件錯(cuò)誤通常會導(dǎo)致應(yīng)用程序不按照預(yù)期的方式運(yùn)行。除非程序在遞減計(jì)數(shù)器的T6位變?yōu)?之前刷新遞減計(jì)數(shù)器,看門狗電路將在一個(gè)預(yù)置的時(shí)間間隔后產(chǎn)生系統(tǒng)復(fù)位;如果在7位的遞減計(jì)數(shù)器數(shù)值達(dá)到窗口寄存器數(shù)值之前刷新遞減計(jì)數(shù)器,同樣會產(chǎn)生系統(tǒng)復(fù)位。這就意味著只能在一個(gè)有限的時(shí)間窗口內(nèi)刷新遞減計(jì)數(shù)器。

窗口看門狗時(shí)序圖


計(jì)算公式:
(0x7F-0x3F)*(12288/16Mhz)
窗口看門狗功能說明
如果開啟了看門狗(設(shè)置了WDGA=1),當(dāng)7位的遞減計(jì)數(shù)器(T[6:0]位)從0x40變?yōu)?x3F時(shí)(即T6變?yōu)?),看門狗產(chǎn)生一個(gè)復(fù)位信號并把復(fù)位引腳拉低。如果軟件刷新計(jì)數(shù)器時(shí),計(jì)數(shù)器的數(shù)值大于窗口寄存器中的數(shù)值,同樣會產(chǎn)生復(fù)位。


在正常的操作期間,應(yīng)用程序必須定期地寫入WDGCR寄存器,以避免產(chǎn)生復(fù)位;這個(gè)寫的動作必須在計(jì)數(shù)器的數(shù)值小于窗口寄存器的數(shù)值時(shí)進(jìn)行。寫入WDGCR寄存器的數(shù)值必須是介于0x7F和0x40之間
● 開啟看門狗:
如果(通過選擇字節(jié))選擇了軟件看門狗,在系統(tǒng)復(fù)位后看門狗處于關(guān)閉狀態(tài)。設(shè)置WDGCR寄存器中的WDGA位將開啟看門狗,隨后在下次復(fù)位之前將不能關(guān)閉看門狗。如果(通過選擇字節(jié))選擇了硬件看門狗,看門狗將始終開啟,而WDGA位將不起作用。


● 控制遞減計(jì)數(shù)器:
遞減計(jì)數(shù)器是自由運(yùn)行計(jì)數(shù)器:即使未開啟看門狗,它依然不斷地遞減計(jì)數(shù)。當(dāng)開啟看門狗時(shí),必須設(shè)置T6位以避免立刻產(chǎn)生復(fù)位。T[5:0]位中包含了看門狗產(chǎn)生復(fù)位前允許的時(shí)間延遲;因?yàn)閷懭隬DGCR寄存器時(shí),預(yù)分頻器的狀態(tài)是不可知的,所以這個(gè)時(shí)間延遲介于一個(gè)最小和最大數(shù)值之間。窗口寄存器(WDGWR)的數(shù)值是指定窗口的高限:為防止復(fù)位,必須在遞減計(jì)數(shù)器的數(shù)值小于窗口寄存器的數(shù)值并大于0x3F時(shí)刷新遞減計(jì)數(shù)器。


注意:T6 位可以用于產(chǎn)生一個(gè)軟件復(fù)位(即設(shè)置WDGA位同時(shí)清除 T6 位)

WWDG_CR寄存器




單片機(jī)源程序如下:
  1. /***********************************************************************
  2. *   開發(fā)平臺: 劍齒虎STM8開發(fā)板        
  3. *   作    者: 劉洋
  4. *   版    本: V1.0
  5. *   日    期: 2017-11-25   
  6. *
  7. *   STVD開發(fā)環(huán)境    版本 V4.3.12
  8. *   ST庫函數(shù)       版本 V2.2.0
  9. ***********************************************************************/

  10. #include "pbdata.h"//引入自定義公共頭文件

  11. void BSP_Configuration(void);//硬件初始化函數(shù)聲明

  12. /***********************************************************************
  13. *   函 數(shù) 名: main
  14. *   功能說明: c程序入口
  15. *   形    參:無
  16. *   返 回 值: 錯(cuò)誤代碼(無需處理)
  17. ***********************************************************************/
  18. int main(void)
  19. {
  20.   BSP_Configuration();//硬件驅(qū)動初始化函數(shù)
  21.   
  22.   printf("窗口看門狗測試程序\r\n");
  23.   
  24.   while(1)//主程序循環(huán),反復(fù)執(zhí)行循環(huán)體里的語句
  25.   {
  26.     WWDG_Refresh();
  27.   }
  28. }
  29. /***********************************************************************
  30. *   函 數(shù) 名: BSP_Configuration
  31. *   功能說明: 初始化硬件設(shè)備。只需要調(diào)用一次。該函數(shù)配置CPU寄存器和外設(shè)的寄存器并初始化一些全局變量。
  32. *   形    參:無
  33. *   返 回 值: 無
  34. ***********************************************************************/
  35. void BSP_Configuration(void)
  36. {  
  37.   CLK_HSIPrescalerConfig(CLK_PRESCALER_HSIDIV1);//時(shí)鐘速度為內(nèi)部16M,1分頻,
  38.   UART1_Congfiguration();//調(diào)用RS232串口1初始化函數(shù)
  39.   LED_Init();//調(diào)用LED初始化函數(shù)
  40.   delay_ms(1000);
  41.   WWDG_Configuration();
  42.   rim();//打開總中斷
  43. }

  44. /*斷言函數(shù):它的作用是在編程的過程中為程序提供參數(shù)檢查*/
  45. #ifdef USE_FULL_ASSERT
  46. void assert_failed(u8* file,u32 line)
  47. {
  48.   while(1)
  49.   {
  50.   }
  51. }
  52. #endif
復(fù)制代碼


所有資料51hei提供下載:
【眾拳】劍齒虎STM8開發(fā)板的實(shí)驗(yàn)代碼下載:
眾拳STM8窗口看門狗(WWDG)實(shí)驗(yàn)程序.zip (1.82 MB, 下載次數(shù): 31)



分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表