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

Migrating from SDK14.2.0 to SDK15.0.0, nrfx uart

Hi,

I am migrating from SDK14.2 to SDK15.0 and I can compile now, but when runnning the nrfx_uart_init the hardware handshake signal RTS is high from the beginning.

Also if I dont use hardware handshake the event handler is not trigged by incoming data.

nrfx_uart_t g_Uart = NRFX_UART_INSTANCE(0);

void uart_init()
{
    nrfx_uart_config_t g_UartCfg = NRFX_UART_DEFAULT_CONFIG;

    g_UartCfg.pselrxd = RX_PIN_NUMBER;
    g_UartCfg.pseltxd = TX_PIN_NUMBER;
    g_UartCfg.pselrts = RTS_PIN_NUMBER;
    g_UartCfg.pselcts = CTS_PIN_NUMBER;
    g_UartCfg.hwfc = NRF_UART_HWFC_ENABLED;
    g_UartCfg.baudrate = NRF_UART_BAUDRATE_115200;
    g_UartCfg.interrupt_priority = 6;

    err_code = nrfx_uart_init(&g_Uart, &g_UartCfg, uart_event_handle);
}

As per recommendation from nordic I have ditched the app_uart( previously used in SDK14.2), because when I include the app_uart_fifo.c in the makefile, all the app_uart_put and get are not found, and gone fully nrfx uart ;(...

BR

Parents Reply Children
  • Bjarke said:
    It seems that the nrfx_glue changes the NRFX_xxx to NRF_xxx.

     Yes. In addition there is a file called apply_old_config.h, which you should take a look at.

    Basically, if you have defines in sdk_config.h that has both NRFX_EXAMPLE_DEFINE and EXAMPLE_DEFINE, then the EXAMPLE_DEFINE will overrule the NRFX_EXAMPLE_DEFINE. 

    Note that this does not mean that you are using the legacy drivers. 

    I am not sure exactly what difficulties you are experiencing. I agree that it is confusing with NRFX and NRF defines, and it is not ideal. But what is the issue you are encountering? Are you able to compile? Does the app "crash" during runtime? Or is the UART not responding?

  • I can compile.

    The UART is not responding. The event is not fired, and the RTS is constant high.

    Bluetooth is running.

    I get a NRFX_SUCCESS from the app_fifi_uart_init ( should be NRF_SUCCESS, if the glue.h is applied correctly)

    In the Uart loopback example I dont see the the glue.h file is applied anywhere.

    See my other reply below

Related