Hi friend,
I am using Q9021 and BLE SDK 1.0.0. I set the watchdog timer to 5 seconds. I made an infinite loop to test the watchdog. But it resets after 10 seconds. How can I make the watchdog time 5 seconds? How to remove the intermediate stage as shown. The code snippet is as follows.
Thank you in advance.
Ted Wu
int main(void)
{
...
#if (defined(QN_ADV_WDT))
wdt_init(163840, WDT_RESET_MOD); // 5s
usr_env.adv_wdt_enable = true;
#endif
...
}
void usr_sleep_restore(void)
{
#if QN_DBG_PRINT
uart_init(QN_DEBUG_UART, USARTx_CLK(0), UART_9600);
uart_tx_enable(QN_DEBUG_UART, MASK_ENABLE);
uart_rx_enable(QN_DEBUG_UART, MASK_ENABLE);
#endif
#if (defined(QN_ADV_WDT))
if(usr_env.adv_wdt_enable)
{
wdt_init(163840, WDT_RESET_MOD); // 5s
}
#endif
}
#if CONFIG_WDT_DEFAULT_IRQHANDLER==TRUE
void WDT_IRQHandler(void)
{
if (reset_test == 1){ /* When testing watchdog reset, need to stay in WDT_IRQHandler until the watchdog overflows again */
while (1) {
// wait for reset...
}
}
#if def BLE_PRJ
#if (defined(QN_ADV_WDT))
usr_env.adv_wdt_to();
#endif
#endif
wdt_irq_clear(); /* Deassert Watchdog interrupt */
}
#endif /* CONFIG_WDT_DEFAULT_IRQHANDLER==TRUE */
