Maple Mini ウォッチドッグタイマー

Maple-mini でウォッチドッグタイマーを使う際のメモ

#include<libmaple/iwdg.h>
void iwdg_init(iwdg_prescaler prescaler, uint16 reload)
void iwdg_feed(void)

Arduino環境でavrとは異なるので、調べるのに手間取りました。
日本語の資料が少なかったので、メモ。

ウオッチドッグタイマーは勿論存在して、動きました。
iwdt 独立型ウォッチタイマーとなっていますが、私のようなホビー用途では、単にウォッチドッグタイマーと言えばこれのことです。

基本的にはMaple IDEと同じなので、
http://docs.leaflabs.com/static.leaflabs.com/pub/leaflabs/maple-docs/0.0.12/libmaple/api/iwdg.html
使い方はこれのままです。

以上が本題です。

そしてこれを使うことになった理由ですが、MAX7219とSerial2系統を同時に使っていると、コンフリクトしてメインループが止まってしまう事があったためです。
(でもタイマー割り込みの呼び出しルーチンは生きていました。)

根本的な解決にはならないのですが、リセットで急場はしのげるのでウォッチドッグタイマーへ逃げることにしました。

このブログの人気の投稿

ESP-01 (ESP8266) 2個使いAPとクライアントにして通信する手順

Maple Mini 3.3Vで2SK2232を駆動できない件

SSD1306 トラブルシューティング