9 years, 4 months ago.

ウォッチドックタイマーの使い方。

ウォッチドックタイマーを使いたいと思いハードウェアマニュアルを元にレジスタをいじろうとしたのですが、WRCSR.WOVFビットを0にする方法が良くわかりません。 WOVFビットを読み出してから0を書き込むとありますが、WOVFビットを読み出すのはどうすればよいのでしょうか。

Question relating to:

Team for GR-PEACH Producer Meeting

1 Answer

9 years, 4 months ago.

ハードウエアマニュアルP550 図12.3にあるように FFFE0004 番地(WRCSR)に 0xA500 を書き込んでみていただけますでしょうか。

以下がサンプルコードです。

#include "mbed.h"
#include "wdt_iodefine.h"

int main() {
    uint8_t read_reg;
    
    WDTWRCSR = 0x5A00; /* not reset */
    
    WDTWTCSR = 0xA558; /* watch dog mode */
    WDTWTCSR = 0xA578; /* start */
    
    while(1){
        read_reg = WDTWRCSR;
        if ((read_reg & 0x80) == 0x80){
            break;
        }
    }
    
    WDTWRCSR = 0xA500; /* clear WOVF */
    
    
    while(1){
    }
    
}