Я пытаюсь использовать прерывание от таймера на nRF51422.Я пользуюсь программным обеспечением S130.Я настроил таймер, как показано в следующем коде:
void configure_timer() // Saniyede bir tiki if bloku içinde vuran Timer
{
NRF_TIMER1->MODE = TIMER_MODE_MODE_Timer;
NRF_TIMER1->TASKS_CLEAR = 1;
NRF_TIMER1->PRESCALER = 8;
NRF_TIMER1->BITMODE = TIMER_BITMODE_BITMODE_16Bit;
NRF_TIMER1->CC[0] = 62500;
NRF_TIMER1->INTENSET = (TIMER_INTENSET_COMPARE0_Enabled << TIMER_INTENSET_COMPARE0_Pos);
NVIC_EnableIRQ(TIMER1_IRQn);
NRF_TIMER1->TASKS_START = 1;
}
Я также пытаюсь настроить BLE для связи с сервером.Когда я собираю и загружаю свой код на плату, он выдает ошибку об источнике низкочастотного тактового сигнала.Я видел, что ошибка возникает, когда плата пытается инициализировать стек BLE.Код инициализации стека находится в следующем.
static void ble_stack_init(ble_evt_handler_t ble_evt_dispatcher)
{
uint32_t err_code;
nrf_clock_lf_cfg_t clock_lf_cfg = NRF_CLOCK_LFCLKSRC;
// Initialize the SoftDevice handler module.
SOFTDEVICE_HANDLER_INIT(&clock_lf_cfg, NULL);
ble_enable_params_t ble_enable_params;
err_code = softdevice_enable_get_default_config(CENTRAL_LINK_COUNT,
PERIPHERAL_LINK_COUNT,
&ble_enable_params);
APP_ERROR_CHECK(err_code);
//Check the ram settings against the used number of links
CHECK_RAM_START_ADDR(CENTRAL_LINK_COUNT,PERIPHERAL_LINK_COUNT);
// Enable BLE stack.
err_code = softdevice_enable(&ble_enable_params);
APP_ERROR_CHECK(err_code);
// Register with the SoftDevice handler module for BLE events.
err_code = softdevice_ble_evt_handler_set(ble_evt_dispatcher);
APP_ERROR_CHECK(err_code);
}
Проблема связана с SOFTDEVICE_HANDLER_INIT (...);линия.КОД ОШИБКИ: 4097
Как вы думаете, что я делаю не так?