|
@@ -14,25 +14,8 @@
|
|
|
|
|
|
#include "board.h"
|
|
#include "board.h"
|
|
#include "drv_uart.h"
|
|
#include "drv_uart.h"
|
|
-#ifdef BSP_USING_SOFTDEVICE
|
|
|
|
-#include <nrfx_rtc.h>
|
|
|
|
#include <nrfx_clock.h>
|
|
#include <nrfx_clock.h>
|
|
-#include "app_error.h"
|
|
|
|
-#include "nrf_drv_clock.h"
|
|
|
|
-const nrfx_rtc_t rtc = NRFX_RTC_INSTANCE(1); /**< Declaring an instance of nrf_drv_rtc for RTC0. */
|
|
|
|
-
|
|
|
|
-static void rtc_handler(nrfx_rtc_int_type_t int_type)
|
|
|
|
-{
|
|
|
|
- if (int_type == NRFX_RTC_INT_TICK)
|
|
|
|
- {
|
|
|
|
- rt_interrupt_enter();
|
|
|
|
|
|
|
|
- rt_tick_increase();
|
|
|
|
-
|
|
|
|
- rt_interrupt_leave();
|
|
|
|
- }
|
|
|
|
-}
|
|
|
|
-#else
|
|
|
|
/**
|
|
/**
|
|
* This is the timer interrupt service routine.
|
|
* This is the timer interrupt service routine.
|
|
*
|
|
*
|
|
@@ -47,36 +30,14 @@ void SysTick_Handler(void)
|
|
/* leave interrupt */
|
|
/* leave interrupt */
|
|
rt_interrupt_leave();
|
|
rt_interrupt_leave();
|
|
}
|
|
}
|
|
-#endif
|
|
|
|
|
|
+
|
|
|
|
+static void clk_event_handler(nrfx_clock_evt_type_t event){}
|
|
|
|
+
|
|
void SysTick_Configuration(void)
|
|
void SysTick_Configuration(void)
|
|
{
|
|
{
|
|
-#ifdef BSP_USING_SOFTDEVICE
|
|
|
|
- nrf_drv_clock_init();
|
|
|
|
- nrf_drv_clock_lfclk_request(NULL);
|
|
|
|
-
|
|
|
|
- uint32_t err_code;
|
|
|
|
-#define TICK_RATE_HZ RT_TICK_PER_SECOND
|
|
|
|
-#define SYSTICK_CLOCK_HZ ( 32768UL )
|
|
|
|
-
|
|
|
|
-#define NRF_RTC_REG NRF_RTC1
|
|
|
|
- /* IRQn used by the selected RTC */
|
|
|
|
-#define NRF_RTC_IRQn RTC1_IRQn
|
|
|
|
- /* Constants required to manipulate the NVIC. */
|
|
|
|
-#define NRF_RTC_PRESCALER ( (uint32_t) (NRFX_ROUNDED_DIV(SYSTICK_CLOCK_HZ, TICK_RATE_HZ) - 1) )
|
|
|
|
- nrfx_rtc_config_t config = NRFX_RTC_DEFAULT_CONFIG;
|
|
|
|
- config.prescaler = NRF_RTC_PRESCALER;
|
|
|
|
-
|
|
|
|
- err_code = nrfx_rtc_init(&rtc, &config, rtc_handler);
|
|
|
|
- // APP_ERROR_CHECK(err_code);
|
|
|
|
- nrfx_rtc_tick_enable(&rtc, true);
|
|
|
|
-#define COMPARE_COUNTERTIME (3UL) /**< Get Compare event COMPARE_TIME seconds after the counter starts from 0. */
|
|
|
|
- //Set compare channel to trigger interrupt after COMPARE_COUNTERTIME seconds
|
|
|
|
- err_code = nrfx_rtc_cc_set(&rtc, 0, COMPARE_COUNTERTIME * 8, true);
|
|
|
|
- // APP_ERROR_CHECK(err_code);
|
|
|
|
-
|
|
|
|
- //Power on RTC instance
|
|
|
|
- nrfx_rtc_enable(&rtc);
|
|
|
|
-#else
|
|
|
|
|
|
+ nrfx_clock_init(clk_event_handler);
|
|
|
|
+ nrfx_clock_enable();
|
|
|
|
+ nrfx_clock_lfclk_start();
|
|
/* Set interrupt priority */
|
|
/* Set interrupt priority */
|
|
NVIC_SetPriority(SysTick_IRQn, 0xf);
|
|
NVIC_SetPriority(SysTick_IRQn, 0xf);
|
|
|
|
|
|
@@ -85,7 +46,7 @@ void SysTick_Configuration(void)
|
|
nrf_systick_val_clear();
|
|
nrf_systick_val_clear();
|
|
nrf_systick_csr_set(NRF_SYSTICK_CSR_CLKSOURCE_CPU | NRF_SYSTICK_CSR_TICKINT_ENABLE
|
|
nrf_systick_csr_set(NRF_SYSTICK_CSR_CLKSOURCE_CPU | NRF_SYSTICK_CSR_TICKINT_ENABLE
|
|
| NRF_SYSTICK_CSR_ENABLE);
|
|
| NRF_SYSTICK_CSR_ENABLE);
|
|
-#endif
|
|
|
|
|
|
+
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|