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

nrf51 s130 sdk12.3 , uart, how to Allowing LOG (NRF_LOG_INIT) for TX in parallel with app_fifo_init (APP_UART_FIFO_INIT) for RTX

Hallo all

I have an appliation using the LOG for TX output to uart,

I want to maintain this code but to add RX based on the app_fifo_init,

how can they coexist ?

thanks

Eran

  • Hi - Update

    I have initialized as the ble_uart example (uart_init()) ,

    and than used printf, this has worked perfectly on the my NRF51_DK, but not on my custom-made hardware (the same hardware i had success with using NRF_LOG with) , the only difference is that my hw is nrf51822_xxaa (and the NRF51_DK is nrf51422xxac)

    it fails directly after the second command which is the printf, 

    I've added the screenshot of where the stack goes  , 

    -------------------------------------

    #define app_trace_log printf

    int main(void)
    {

    uart_init();

    app_trace_log("\r\n[MAIN]: init \r\n");

    ----------------------------------

    static void uart_init(void)
    {
    uint32_t err_code;
    const app_uart_comm_params_t comm_params =
    {
    NRF_LOG_BACKEND_SERIAL_UART_RX_PIN,
    NRF_LOG_BACKEND_SERIAL_UART_TX_PIN,
    NRF_LOG_BACKEND_SERIAL_UART_RTS_PIN,
    NRF_LOG_BACKEND_SERIAL_UART_CTS_PIN,
    APP_UART_FLOW_CONTROL_DISABLED,
    false,
    UART_BAUDRATE_BAUDRATE_Baud115200
    };

    APP_UART_FIFO_INIT( &comm_params,
    UART_RX_BUF_SIZE,
    UART_TX_BUF_SIZE,
    uart_event_handle,
    APP_IRQ_PRIORITY_LOWEST,
    err_code);
    APP_ERROR_CHECK(err_code);
    }

  • basically I receive a :

    NRF_UART_INT_MASK_ERROR  

    Error detection interrupt.

    when trying to use printf..

  • I've added a stack view of the error

    the right call stack is after the error occurred , on the 5 charachter , the left call stack is at the first charachter sent by the printf (no error at that point)

    after the 4th the printf invokes a UART0_IRQHandler with - a uart error interrupt

    That does not occur on the NRF51 DK only on my own custome hardware

    I would really appreciate any help from you guys

    thanks

    Eran

  • The documentation tells you that this occurs when there is error detected on the RXD line.

    Are you sure that on your custom board the pin numbers you selected are properly connected to the peer UART pins and are NOT used by anything else? (i.e, and their state is not controlled by any other external circuitry?)

  • Thanks Susheel,

    Yes , apparently they were also conflicted with other pins on the programming connector..

    Thanks !

Related