watch dog disable

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

watch dog disable

323件の閲覧回数
vladimirchernin
Contributor III

hi!

i am setting up wdog  like this
 
    /* Enable RTWDOG clock */
  RTWDOG_GetDefaultConfig(&config);
config.testMode        = kRTWDOG_UserModeEnabled;
config.enableInterrupt = false;
config.prescaler    = kRTWDOG_ClockPrescalerDivide256;
config.timeoutValue = 5*32000/256;
config.enableUpdate = true;
RTWDOG_Init(EXAMPLE_WDOG_BASE, &config);
CLOCK_EnableClock(kCLOCK_Wdog3);
NVIC_EnableIRQ(RTWDOG3_IRQn);

and i want to disable it by using  RTWDOG_Deinit(EXAMPLE_WDOG_BASE);

i put enableUpdate = true because i want option to stop or change timeout it but i cannot stop it or change it

what is wrong here ? 

i run code on rt1176  

thanks

 

タグ(2)
0 件の賞賛
2 返答(返信)

304件の閲覧回数
EdwinHz
NXP TechSupport
NXP TechSupport

Hi @vladimirchernin

As mentioned in section 79.5.1 Disable Watchdog of the Reference Manual, "To disable the watchdog, first do unlock sequence, then unset the WDOG_CS[EN] bit."

That said, as stated on section 79.3.2.2.1 Unlocking the Watchdog, to unlock the WDOG you must write the unlock sequence to the CNT register within 31 bus clocks at any time after the watchdog has been configured. On completing the unlock sequence, the user must reconfigure the watchdog within 255 bus clocks; otherwise, the watchdog closes the unlock window.

Please make sure these bus clock requirements are also taken into account.

Finally, take not that disabling the watchdog is different if done after a reset. The proper disabling of this module after a reset is described on section 79.5.2 Disable Watchdog after Reset.

 

BR,
Edwin.

 

 

0 件の賞賛

299件の閲覧回数
vladimirchernin
Contributor III

HI!

I use nxp driver functions and its not working i am at rt1176 board 


/*!
* brief De-initializes the RTWDOG module.
*
* This function shuts down the RTWDOG.
* Ensure that the WDOG_CS.UPDATE is 1, which means that the register update is enabled.
*
* param base RTWDOG peripheral base address.
*/
void RTWDOG_Deinit(RTWDOG_Type *base)
{
uint32_t primaskValue = 0U;

/* Disable the global interrupts */
primaskValue = DisableGlobalIRQ();
RTWDOG_Unlock(base);
RTWDOG_Disable(base);
EnableGlobalIRQ(primaskValue);
}

  

0 件の賞賛