たとえば、外部ウォッチドッグと PIC24 を接続するのを手伝ってくれる人はいますか? http://datasheets.maximintegrated.com/en/ds/MAX823-MAX825Z.pdf
一種のベータ版は次のようになります: WDI=1; while(1) { if(wdi!=0) ルーチン実行中断 }
しかし、どうすればリセットできるのかわかりません。
誰かが私にアイデアをくれますか?
MAX82X の /RESET ピンは、PIC24 の /RESET ピンに接続する必要があります。
MAX82X の WDI は、PIC24 の GPIO に接続する必要があります。
メイン ループでは、GPIO を切り替えてウォッチドッグを開始する必要があります。データシートには、パルスは最小 50ns で、ウォッチドッグ タイマーは 1.6s であると記載されています。これは、GPIO が 1.6 秒以内に切り替えられることを確認する必要があることを意味します。
最も簡単な方法は次のとおりです。
int main(void)
{
hardware_init(); //Set up GPIO
while(1)
{
toggle_gpio(); //Kick watchdog
//Your app
}
}
アプリの処理に 1.6 秒以上かかる場合は、アプリ内でも gpio を切り替える必要があります。
1.6 秒以内にウォッチドッグをキック (IO をトグル) しないと、MAX82X が PIC24 をリセットします。