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

標題: 眾拳STM8窗口看門狗(WWDG)實驗詳解 附源程序 [打印本頁]

作者: 眾拳單片機    時間: 2017-12-16 14:56
標題: 眾拳STM8窗口看門狗(WWDG)實驗詳解 附源程序

窗口看門狗介紹
窗口看門狗用于監測由于外部干擾或不可預知的邏輯條件所產生的軟件錯誤,這樣的軟件錯誤通常會導致應用程序不按照預期的方式運行。除非程序在遞減計數器的T6位變為0之前刷新遞減計數器,看門狗電路將在一個預置的時間間隔后產生系統復位;如果在7位的遞減計數器數值達到窗口寄存器數值之前刷新遞減計數器,同樣會產生系統復位。這就意味著只能在一個有限的時間窗口內刷新遞減計數器。

窗口看門狗時序圖


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


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


● 控制遞減計數器:
遞減計數器是自由運行計數器:即使未開啟看門狗,它依然不斷地遞減計數。當開啟看門狗時,必須設置T6位以避免立刻產生復位。T[5:0]位中包含了看門狗產生復位前允許的時間延遲;因為寫入WDGCR寄存器時,預分頻器的狀態是不可知的,所以這個時間延遲介于一個最小和最大數值之間。窗口寄存器(WDGWR)的數值是指定窗口的高限:為防止復位,必須在遞減計數器的數值小于窗口寄存器的數值并大于0x3F時刷新遞減計數器。


注意:T6 位可以用于產生一個軟件復位(即設置WDGA位同時清除 T6 位)

WWDG_CR寄存器




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

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

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

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

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


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








歡迎光臨 (http://www.raoushi.com/bbs/) Powered by Discuz! X3.1