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

How can I use "Esb" and "App timer" at the same time?

Hi,

I an try to use "Esb function" and "App timer function (app_timer_create() and app_timer_start()" in the same project, but there have one following link error message.

.\_build\nrf52832_xxaa.axf: Error: L6200E: Symbol SWI0_EGU0_IRQHandler multiply defined (by nrf_esb.o and app_timer.o).

How can I solve this problem.

Thank you,

Chianglin

Parents
  • Hi Ives

    You can change the software interrupt handler used in nrf_esb.h, to avoid the conflict with the app timer library. 

    A common trick is to hijack the interrupt vector off a peripheral that you don't need in the application, to avoid using all the software interrupts. 

    As an example, the QDEC peripheral is very specialized and is usually not required by the application. If this is the case for you also just change lines 137-138 in nrf_esb.h as such:

    #define ESB_EVT_IRQ QDEC_IRQn //!< The ESB event IRQ number when running on an nRF5 device.
    #define ESB_EVT_IRQHandler QDEC_IRQHandler //!< The handler for @ref ESB_EVT_IRQ when running on an nRF5 device.

    Best regards
    Torbjørn

  • Hi Torbjørn,

    Thank you for your answer.

    Please reference the attach file.

    I am trying to create timer to trigger task "RxPacketProcess_timeout_handler()", which can print a message "(0001)" via UART interface every two seconds.

    But, it can not print "(0001)" message to my PC via UART interface.

    Would you please tell me how to modify it?

    Code.7z

    Thank you,

    Chianglin

  • Hi Ives

    Does the example print anything at all?

    I flashed your code, but I can't see any activity on the UART. 

    Best regards
    Torbjørn

Reply Children
Related