This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

CC13xx RX UART Errors

Other Parts Discussed in Thread: CC1312R7, CC1312R

We have CC13xx Platform, with Arm 8.50 CPU.

Subject: Seeking Guidance on Eliciting and Handling RX UART Errors on CC13xx Platform

1. We need to check that our code handles correctly the following RX UART Errors:

"Framing Error"

"Parity Error"

"Buffer full Error"

Is there a way that you recommend to cause to these Errors?

We've utilized Docklight to send messages with varying baud rates, very long messages' lengths, and high rate of messages, but have yet to induce the desired errors -

Our system did not receive any RX UART Error.

2. When there is any of the above RX UART Errors, Is it advisable to call the following 2 TI functions, for "Recovery":

   UART2_close();

   UART2_open();

If not, what alternative approaches would you suggest?

3. Please note, Our UART Initialization code is:

void initPghModemUART()

{

     // Initialize UART2 parameters

     UART2_Params_init(&uartParams);

 

     uartParams.baudRate = 38400;

     uartParams.readMode = UART2_Mode_CALLBACK;

     uartParams.writeMode = UART2_Mode_CALLBACK;

     uartParams.readCallback = UART_PghModem_RxHandler;

     uartParams.writeCallback = UART_PghModem_TxHandler;

     uartParams.eventCallback = UART_PghModem_EventHandler;

     uartParams.readReturnMode = UART2_ReadReturnMode_PARTIAL;

 

     // Open the UART

     uart2_inst = UART2_open(CONFIG_UART2_1, &uartParams);

 

     // Enable receiver, inhibit low power mode

     UART2_rxEnable(uart2_inst);

}

 

 

  • Hi

    I have consulted with our driver team and we do not have any documentation on how to set up test cases for all the different errors that can be generated.

    If an error occurs, you should get an event callback, and you should be able to proceed as normal after that (no need to close the driver etc.)

    Be aware that if you get a break error (UART2_STATUS_EBREAK), the last byte in the FFIO is set to 0.

    Siri

  • Hi,

    I'm encountering a peculiar issue while testing the "uart2callback" example from the TI SimpleLink SDK (v6.20.00.29) on an LP_CC1312R7 platform using IAR Debugger.


    I compiled and tested (with IAR Debugger) the "uart2callback" example of TI,
    that is located in:

    C:\ti\simplelink_cc13xx_cc26xx_sdk_6_20_00_29\examples\rtos\LP_CC1312R7\drivers\uart2callback\tirtos7\iar


    Note:

    The Baud Rate in this example is 115200.

    This example code works OK - when I sent some data via "Docklight", in Baud Rate 115200 (Parity = None, 8 data bits, 1 stop bit) -

    The status that is returned from function UART2_read() is UART2_STATUS_SUCCESS.

    My problem is the following:

    When I sent a BYTE "00" (or multiple "00" bytes) from "Docklight", at Baud Rate 9600 -

        I expected to receive "Framing Error" in the status that is returned from function UART2_read(),

    BUT I did NOT receive any Error at all - UART2_read() returns UART2_STATUS_SUCCESS, indicating no errors.

    Please advise on potential causes for this unexpected behavior.

  • First of all, I recommend you to download our newest SDK to see if the problem is reproducible also there.

    If it is, you should try to set up a test where you use another CC1312R7 to transmit whatever is causing the issues, so that I can try to reproduce the same here (I am not familiar with docklight).

    If you are not able to reproduce the issue with a CC1312R as sender, please provide plots of your UART communication so that I can try to test the same here.

    Siri