LPC800 (14) Watchdog Oscillator (1)2013年07月12日 22時35分31秒

Watchdog Oscillator を使う
今回は Watchdog Oscillator を main clock として試してみる。
使い方は簡単だ。
system_LPC8xx.c の MAINCLKSEL を WDT Oscillator にして、FREQSEL を 3.4 MHz にする。


コンパイルして、書き込み、Reset 。


青LED が点灯したままだ。
ターミナルに文字出力も無い。
どうしたものかと思っていると青LED が一瞬消えた。
よく観察してみると、約100秒に一回 LED が消えるタイミングがある。
ソースを見ると、LED を点灯させた後シリアルに文字を出力している。
もしかすると文字出力にものすごく時間がかかっているのかもしれない。
ためしに、printf を削除してみると、LED は普通に点滅する。


どうやら Watchdog Oscillator を使うとシリアルがおかしくなるらしい。


環境:LPC800 Mini Kit (LPC810M021FN8)
    + Keil MDK-ARM V4.53
    + LPC800 Support for version 4.60 of Keil MDK-ARM
    + GCC Sourcery CodeBench Lite 2012.09-63
    + LPC810 CodeBase
    + Flash Magic Version 7.50