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

Using UARTE0 and UARTE1 in different pins ?

Dear Members,

I saw this example,

https://infocenter.nordicsemi.com/index.jsp?topic=%2Fcom.nordic.infocenter.sdk5.v15.2.0%2Fserial_uartes_example.html

I can not find this example on SDK 17,

How can I use UARTE0 and UARTE1 on separate port ? one is for debugging via USB and the other one for communicating with GPS UART ?

Any suggestions ?

Thanks

Parents
  • Hi,

    The Serial port library has been deprecated and has been replaced with the libUARTE module. We have a libUARTE example in the SDK that only uses one instance but clearly shows how to define an instance and initialize it. It should be possible to repeat this for a second UARTE instance. If you want to use two UARTE instances then you have to enable both instances in the config file and resources that the module is dependent on ( Timer and PPI) . Next you have to define an instance of the module and initialize it in the project.

    regards

    Jared 

  • Code :

    err_code = nrf_libuarte_async_init(&libuarte, &nrf_libuarte_async_config, uart_event_handler, (void *)&libuarte);
    			APP_ERROR_CHECK(err_code);
    		NRF_LOG_INFO("Err_code %u",err_code);
    		err_code = nrf_libuarte_async_init(&libuarte1, &nrf_libuarte_async_config1, uart_event_handler1, (void *)&libuarte1);
     		  APP_ERROR_CHECK(err_code);
        NRF_LOG_INFO("Err_code %u",err_code);
        nrf_libuarte_async_enable(&libuarte);

    Output :

    UART example started.
                                                             
     Loopback:
                                                                        
    

    it can not display NRF_LOG_INFO() ..... ??

Reply
  • Code :

    err_code = nrf_libuarte_async_init(&libuarte, &nrf_libuarte_async_config, uart_event_handler, (void *)&libuarte);
    			APP_ERROR_CHECK(err_code);
    		NRF_LOG_INFO("Err_code %u",err_code);
    		err_code = nrf_libuarte_async_init(&libuarte1, &nrf_libuarte_async_config1, uart_event_handler1, (void *)&libuarte1);
     		  APP_ERROR_CHECK(err_code);
        NRF_LOG_INFO("Err_code %u",err_code);
        nrf_libuarte_async_enable(&libuarte);

    Output :

    UART example started.
                                                             
     Loopback:
                                                                        
    

    it can not display NRF_LOG_INFO() ..... ??

Children
  • Hi Jared,

    Here's the event UART1 Code :

    static uint8_t text2[] = "EVENT RX UART1 .\r\n ";

    void uart_event_handler1(void * context, nrf_libuarte_async_evt_t * p_evt)
    {
        nrf_libuarte_async_t * p_libuarte = (nrf_libuarte_async_t *)context;
        ret_code_t ret;

        switch (p_evt->type)
        {
                case NRF_LIBUARTE_ASYNC_EVT_ERROR:
                bsp_board_led_invert(0);
                break;
            case NRF_LIBUARTE_ASYNC_EVT_RX_DATA:
                           nrf_libuarte_async_tx(&libuarte, text2, text_size2);
                         nrf_libuarte_async_tx(&libuarte, p_evt->data.rxtx.p_data, p_evt->data.rxtx.length);
                        
                            
                break;
            case NRF_LIBUARTE_ASYNC_EVT_TX_DONE:
                
                bsp_board_led_invert(2);
                break;
            default:
                break;
            }    
            
    }   

    Output :

        EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVÿUART example started.
     Loopback:
     EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      UART example libuarte loop.
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      EVENT RX UART1 .
      

    What's the data variable for UART1 so I can display it on UART 0 ?

      nrf_libuarte_async_tx(&libuarte, p_evt->data.rxtx.p_data, p_evt->data.rxtx.length);

    p_evt->data.rxtx.p_data = UART1 data output ??

    Thanks

Related