nRF51422 - Как использовать прерывание от таймера во время работы BLE? - PullRequest
0 голосов
/ 07 мая 2019

Я пытаюсь использовать прерывание от таймера на 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

Как вы думаете, что я делаю не так?

...