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 )
{
}
}