1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- #include "sdk_common.h"
- #include "SEGGER_RTT.h"
- #include "nrf_drv_pwm.h"
- #include "usr_config.h"
- #include "nrf_drv_wdt.h"
- #include "system.h"
- #include "bsp_time.h"
- #if WATCHDOG_ENANBLE
- nrf_drv_wdt_channel_id m_channel_id;
- void feed_watchdog(void)
- {
- nrf_drv_wdt_channel_feed(m_channel_id);
- }
- /**
- * @brief WDT events handler.
- */
- void wdt_event_handler(void)
- {
- SEGGER_RTT_printf(0,"wdt_event_handler:%d\n",TIME_GetTicks());
- }
- static void WatchDog_Process(void)
- {
- feed_watchdog();
- SEGGER_RTT_printf(0,"WatchDog_Process:%d\n",TIME_GetTicks());
- }
- void watchdog_init(void){
- uint32_t err_code;
- nrf_drv_wdt_config_t config = NRF_DRV_WDT_DEAFULT_CONFIG;
- config.interrupt_priority = WDT_IRQ_PRIORITY;
- config.reload_value = WDT_RELOAD_VALUE;
- 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();
-
- Process_Start(1000,"WatchDog_Process",WatchDog_Process);
- }
- #endif
|