WIZnet Developer Forum

Wdt no work in 7500p

hello. I use simple procedur for initialisation wdt:
*(volatile uint32_t *)(0x40000c00)=0x1ACCE551; //Watchdog timer Lock Register(WDTLock)
*(volatile uint32_t *)(0x40000000)=0x10000000; //Watchdog timer Load Register(WDTLoad)
*(volatile uint32_t *)(0x41001140) = 1; //01 : PLL output clock (MCLK)
*(volatile uint32_t *)(0x41001144) = 3; // 011 : 1/80prescaller
*(volatile uint32_t *)(0x40000004)=0xf0000000; //Watchdog timer Value Register(WDTValue)
*(volatile uint32_t *)(0x40000008)=0x00000002; //Watchdog timer Control Register(WDTControl)
and watch Watchdog timer Value Register(WDTValue) (0x40000004).
he is always =0x10000000 and no change.
what I do incorrectly?

hello, s868

When you set the new WDT, you must restart WDT with WDTControl (0x4000_0008, 0x01).

I think the reason why the counter is not change is WDT is not restarted yet.

Thank you

lawrence

yes, thank you.
That helped.

I am glad to help you.

Feel free to ask any curious things.

Thank you

Hello!
I have the same issue with WatchDog on W7500P. But when i set IEN bit of the WDTControl register (0x4000_0008, 0x01) then immediately the NMI interrupt arises and then this situation loops forever.
I’m absolutely confused how to start Watch Dog timer. The example from the Peripheral_Examples absolutely does not clearifies how to use WDT.

Could you please share some simplest example which correctly initializes WDT, loads it with any counter number and then starts it without causing immediate NMI interrupt and then after the counter reaches 0 it causes reset?

Thanks in advance!

Copyright © 2017 WIZnet Co., Ltd. All Rights Reserved.