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

Dummy handler is invoked instead of the nrfx_uart_0_irq_handler upon a character being inserted in terminal

I'm trying to write the stripped down version of UART driver myself and having a few issues:

I enabled the UART, along with other registers as shown below




but when I enter a character in the terminal, I see the execution gets stuck on the following in the startup file. My initial assumption was the interrupt handler itself isn't being overridden in the application but I have it defined as shown below;





Both macros correspond to UARTE0_UART0_IRQHandler so that should be fine I guess.






The call stack is as follows and the dummy handler is caused inside TIMER2_IRQHandler. Where is
TIMER2_IRQHandler being invoked from? And why does the nrfx_uart_0_irq_handler not get invoked instead?


Alsno note I have NRFX_PRS_ENABLED set to 0. Was getting a different error with that enabled
  • Change this:

    to this:

    This will now eclipse the weak definition:

    If there are any #define conflicts simply comment them all out

  • tried that to no avail

  • Did you comment out the useless macro stuff? Both are required, different files:

  • i did comment these lines out but now i see a WDT_IRQHandler being invoked.

  • In that case just disable or better do not enable the watchdog; I don't know the project so can't advise on how, best if Nordic engineers guide on that.

1 2