Hi,
Could someone please teach me how to stop the WDT after starting it with the following code on Arduino UNO R4?
WDT.begin(5000);
Is there anything else you need help with?
Hi,
Could someone please teach me how to stop the WDT after starting it with the following code on Arduino UNO R4?
WDT.begin(5000);
Is there anything else you need help with?
Unfortunately, it seems that you cannot stop the WDT. This does not mean that the WDT library is missing the function, but that the MCU does not have the function in the first place.
According to the Renesas reference and FSP document, the WDT can only be stopped when the debugger is running or when the MCU goes into sleep mode.
This is due to the concept of the fail-safe mechanism. In other words, I think it is to eliminate the possibility of stopping the WDT when the MCU runs out of control.
In my experience, one of the ARM Cortex-M3 MCU had a function to stop the WDT by accessing the register in a specific sequence, but the RA4M1 does not have this functionality.
I don't know what use case you are planning to stop the WDT, but it seems that you have no choice but to design a fail-safe mechanism according to the concept of the RA4M1.
Hello, Embeddedkiddie,
Thank you for replying to this topic.
Your comments and the related materials you provided were very helpful to me. I now have a good understanding of why the WDT on the UNO R4 cannot be stopped.
I was trying to activate the WDT only for a certain function process, which occasionally becomes unresponsive and uses the "TinyGSM" library, and then stop(not reset) the WDT if the function process completes successfully.
Ultimately, I was able to implement the error handler mentioned above by using the "AGTimerR4.h" library.
Thank you again.