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

NRF 52832 UART High speed communication

Hi,

Please give me  a porting or integrate  guide or manual of "LIBUARTE" with ble peripheral softdevice example. Please share a source code if any.

Parents
  • Hi,

    I created a modified version of the ble_app_uart example that replaces the app_uart library with libUARTE: ble_app_libUARTE_sdk1702.zip

    The ZIP includes diff files to see the required changes to the original project(s). The most important thing to remember when integrating the libUARTE library with a softdevice project, is to chose resources (TIMERs/RTCs) that are not used by the softdevice.

    Best regards,
    Jørgen

  • Trying to implement libuarte to existing project with SDK16.

    Getting a really weird errors:

    static assertion failed: "Timer instance not enabled"

    It fails in nrf_libuarte_async.h. line 240, this line:

    NRF_LIBUARTE_DRV_DEFINE(CONCAT_2(_name, _libuarte), _uarte_idx, _timer0_idx);\

    libuarte is defined in my uart.c at the beginning of file like this:

    NRF_LIBUARTE_ASYNC_DEFINE(libuarte, 0, 1, 2, NRF_LIBUARTE_PERIPHERAL_NOT_USED, 255, 3);

    Which means instance of TIMER 1 is used.

    And in sdk_config.h I have

    #define NRFX_TIMER_ENABLED 1

    and

    #define NRFX_TIMER1_ENABLED 1

    which means it should work...no?

    The second error:

    'NRFX_TIMER1_INST_IDX' undeclared here (not in a function); did you mean 'NRFX_TIMER_INSTANCE'?

    I don't understand...

    Any help is appreciated!

Reply
  • Trying to implement libuarte to existing project with SDK16.

    Getting a really weird errors:

    static assertion failed: "Timer instance not enabled"

    It fails in nrf_libuarte_async.h. line 240, this line:

    NRF_LIBUARTE_DRV_DEFINE(CONCAT_2(_name, _libuarte), _uarte_idx, _timer0_idx);\

    libuarte is defined in my uart.c at the beginning of file like this:

    NRF_LIBUARTE_ASYNC_DEFINE(libuarte, 0, 1, 2, NRF_LIBUARTE_PERIPHERAL_NOT_USED, 255, 3);

    Which means instance of TIMER 1 is used.

    And in sdk_config.h I have

    #define NRFX_TIMER_ENABLED 1

    and

    #define NRFX_TIMER1_ENABLED 1

    which means it should work...no?

    The second error:

    'NRFX_TIMER1_INST_IDX' undeclared here (not in a function); did you mean 'NRFX_TIMER_INSTANCE'?

    I don't understand...

    Any help is appreciated!

Children
Related