WatchDog(WDT)関連のAHI関数と解説
TWENETライブラリ、WatchDog(WDT)関連のAHI関数と解説
TWENETライブラリ、WatchDog(WDT)関連のAHI関数と解説です。
WatchDog(WDT)
vAHI_WatchdogStart()
void vAHI_WatchdogStart(uint8 u8Prescale);
ウォッチドッグタイマーを利用開始します。
- タイムアウト時間はおおよその値を設定している。具体的にはタイムアウトは
u8Prescale == 0
の場合8
ms, それ以外は((1UL<<(u8Prescale-1)) + 1) * 8
msとしてthe_wwdt->init()
を呼び出している。 - 値域外の値
u8Presacale > 12
を指定した場合は、u8Prescale = 10
(約4秒) とする。 -DDEBUG
でコンパイルするデバッグ時はこの処理は実行されず、WDTは停止したままとします。
vAHI_WatchdogStop()
void vAHI_WatchdogStop();
TWELITE GOLD では、いったん稼働したウォッチドッグの停止を行うことが出来ません。本関数は、ウォッチドッグタイマーのタイムアウトを変更する際に以下のように呼び出します。
...
vAHI_WatchdogStop(); // 一旦停止API(実際は停止しない)を呼び出す
vAHI_WatchdogStart(12); // 約16秒に再設定する
vAHI_WatchdogRestart()
void vAHI_WatchdogRestart();
ウォッチドッグタイマーのタイムアウトまでに呼び出します。
-DDEBUG
でコンパイルするデバッグ時はこの処理は実行されません。