Watchdog Timer (WDT) Tips and Tricks
- A test you can do to observe the time that the Watchdog Timer (WDT) is running is to toggle an IO pin and/or an LED around the CLRWDT function. If there is no LED connected, this test can be observed on an oscilloscope.
- It is good practice to clear the WDT only once during the length of your program. This is because you need to clear the WDT before the timer times out and resets the program. Having multiple CLRWDT instructions makes it difficult to keep track of when the timer will time out.
- Using the timer interrupt to clear WDT is not recommended because the WDT is an emergency feature to reset the system on an "un-escapable loop" where an interrupt can still happen within the loop. If you clear the WDT in the timer interrupt, it will be cleared as part of the interrupt and the program will return to the loop and stay stuck in the loop as before.