有人可以帮我将 PIC24 与外部看门狗接口吗? http://datasheets.maximintegrated.com/en/ds/MAX823-MAX825Z.pdf
一种 beta 版本可以是: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。