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

Multiple definitions of UARTE0_UART0_IRQHandler

Hello,

I'm using nRF52840. I developed a project using openthread libraries: in particular I included "libopenthread-nrf52840-softdevice-sdk.a" library to have the CLI dedicated to Thread.

I am now trying to use UART peripheral to add new functionalities (such as a uart backend for logs). By the way I get the error of multiple implementations of UARTE0_UART0_IRQHandler.

How do I get rid out of this? Also, I do not understand how many uart interfaces I can initiate since there is a single UART and two UARTE.

Thanks

  • I figured it out. I'm going to explain it here in case someone bumps into the same problem.

    The nRF52840 microcontroller has three UART instances: UART0, UARTE0 and UARTE1. Anyway, UART0 and UARTE0 have the same IRQ Handler (as you can see in file "nrfx_irqs_nrf52840.h".

    As a consequence, if you are using "libopenthread-nrf52840-softdevice-sdk.a", the UART0 and UARTE0 instances are already used, so you cannot define another instance with the same IRQ Handler. The only option you have is to use UARTE1.

    Hope this helps.

Related