Hi everyone,
I'm using nrf52840 custom board (pca10056)
SDK version: 15.3
OS: Fedora
I work on a custom board and try to use WDT like so in the WTD project example:
int main(void) { uint32_t err_code = NRF_SUCCESS; //BSP configuration for button support: button pushing will feed the dog. err_code = nrf_drv_clock_init(); APP_ERROR_CHECK(err_code); nrf_drv_clock_lfclk_request(NULL); err_code = app_timer_init(); APP_ERROR_CHECK(err_code); // err_code = bsp_init(BSP_INIT_BUTTONS, bsp_event_callback); // APP_ERROR_CHECK(err_code); //Configure all LEDs on board. // bsp_board_init(BSP_INIT_LEDS); nrf_gpio_cfg_output(RLED); nrf_gpio_cfg_output(GLED); nrf_gpio_cfg_output(BLED); nrf_gpio_pin_set(RLED); nrf_gpio_pin_set(GLED); nrf_gpio_pin_set(BLED); //Configure WDT. nrf_drv_wdt_config_t config = NRF_DRV_WDT_DEAFULT_CONFIG; config.behaviour = NRF_WDT_BEHAVIOUR_RUN_HALT; config.reload_value = 360000; err_code = nrf_drv_wdt_init(&config, wdt_event_handler); APP_ERROR_CHECK(err_code); err_code = nrf_drv_wdt_channel_alloc(&m_channel_id); APP_ERROR_CHECK(err_code); nrf_drv_wdt_enable(); //Indicate program start on LEDs. // for (uint32_t i = 0; i < LEDS_NUMBER; i++) // { nrf_delay_ms(200); // bsp_board_led_on(i); // } // err_code = bsp_buttons_enable(); // APP_ERROR_CHECK(err_code); nrf_delay_ms(2000); led_on(GLED); while (1) { // __SEV(); // __WFE(); // __WFE(); } }
When I set the reload value to 10 000ms my WDT is triggered every 10s but when I try 360 000ms (6min) it's triggered approximately at 1min and 30s only...
What am I doing wrong?