Using the Watchdog Timer to Reset PSoC® 3/5LP - KBA89152

Version: *A

 

Question:

How can you use the watchdog timer (WDT) to reset PSoC® 3 or PSoC 5LP? 

 

Answer:

The WDT feature can be implemented in PSoC 3 or PSoC 5LP using the two APIs CyWdtStart and CyWdtClear. The hardware implementation of the WDT prevents any modification of the timer once it has been enabled. It also prevents the timer from being disabled once it has been enabled, which protects the WDT from changes caused by errant code. 

More information about the APIs used for WDTs can be obtained from the System Reference Guide (PSoC Creator > Help > System Reference Guides > PSoC 3 / PSoC 5LP System Reference Guide - cy_boot Component v5.50). 

For example, in a typical application you first enable the WDT.

CyWdtStart(CYWDT_1024_TICKS,CYWDT_LPMODE_NOCHANGE); 

This will set the WDT for a time period of 2.048–3.072 s. Now you need to make sure that the WDT is cleared before this time. If not, the device will get reset.

So every 2.048–3.072 s, you need to call the CyWdtClear() API to clear the WDT.