W79E632 watchdog function

Posted by: 邱小新 at 下午3:27 in

啟動 watchdog 程序

  1. 先關閉 watchdog 功能,防止一些干擾的問題。
  2. 選擇 watchdog time-out 時間。
  3. 設定 watchdog 中斷開關。
  4. 開啟 watchdog 重置工作。
  5. 開啟 watchdog 功能。
void watchdog_start(void) { // clear watchdog flag TA = 0xAA; TA = 0x55; WDCON = 0; // select 2^26 time-out interval CKCON |= 0xC0; // disable watchdog interrupt EWDI = 0; // start watchdog reset task poller_start(POLLER_WATCHDOG, TIMER_WATCHDOG); // enable watchdog TA = 0xAA; TA = 0x55; WDCON = 3; }

關閉 watchdog 程序

void watchdog_stop(void) { TA = 0xAA; TA = 0x55; EWT= 0; }

重置 watchdog 程序

void watchdog_reset(void) { TA = 0xAA; TA = 0x55; RWT= 1; } PS: 一開機後請立即清除 EWT,以免 watchdog reset 再次發生。

0 意見

張貼留言