This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Event ISR not called when configured using the HAL

I'm new to the Nordic range of devices and the SDK.

I have a project where I'm using the HAL in the SDK to configure GPIO/GPIOTE and the UARTE0. With both the GPIOTE and UARTE my ISRs do not get called when I would expect an event to be triggered.

Basic functions like setting and clearing GPIO pins and starting the HF clock work, so I know my code is running and basically correct, I just don't get any events.

I have included the relevant parts of my code for the UARTE0. I don't even get the TXSTARTED event:

// Set the GPIO pin directions and initial state
...

nrf_uarte_baudrate_set( NRF_UARTE0, baudrate );

nrf_uarte_configure( NRF_UARTE0, NRF_UARTE_PARITY_EXCLUDED, NRF_UARTE_HWFC_DISABLED );

nrf_uarte_int_enable( NRF_UARTE0, NRF_UARTE_INT_TXSTARTED_MASK | NRF_UARTE_INT_ENDTX_MASK | NRF_UARTE_INT_ENDRX_MASK | NRF_UARTE_INT_RXTO_MASK | NRF_UARTE_INT_ERROR_MASK );

IRQn_Type uarte0Interrupt = UARTE0_UART0_IRQn;
uint32 interruptPriority = Task::LowestInterruptPriority + 1;

NVIC_SetPriority( uarte0Interrupt, interruptPriority ); 

NVIC_EnableIRQ( uarte0Interrupt );

nrf_uarte_enable( NRF_UARTE0 );

...

nrf_uarte_tx_buffer_set( NRF_UARTE0, transmitBuffer, length );

nrf_uarte_task_trigger( NRF_UARTE0, NRF_UARTE_TASK_STARTTX );

...

extern "C" void UARTE0_UART0_IRQHandler()
{
    if( nrf_uarte_event_check( NRF_UARTE0, NRF_UARTE_EVENT_TXSTARTED ) == true )
    {
    }
}
Parents Reply Children
No Data
Related