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.

RTOS/MSP430F6779A: About UART_read() API

Part Number: MSP430F6779A
Other Parts Discussed in Thread: MSP430F5529, MSP-EXP430F5529LP

Tool/software: TI-RTOS

Hello.

I have two questions.

I am using the TI-RTOS UART Driver example.

I think the cycle time of UART_read() API seems to very long.

1.Are there any c files containing the contents of the UART_read() API code  ?

2.Are there any solutions to minimize cycle times of the UART_read() API ?

Regards,

uchida-k

  • Hi Uchida-k

    All driver sources are provided with the TI-RTOS product. The source files can be located in:

    <tirtos_install_dir>/products/tidrivers_<version>/packages/ti/drivers/uart/*

    The MSP430F6779A has eUSCI peripherals, so you should refer to the UARTEUSCI.* drivers. You are free to modify the drivers as you like & either rebuild the drivers library (see Users Guide for instructions) or just copy the source files to your project & they get built along with your application.

    Regards,
    -- Emmanuel
  • Hi Emmanuel,

    Thank you for your reply.

    I am using UART_read()API, and facing following problems.

    The turn around time from receiving data to exiting  UART_read() takes 398us.

    Because of the processing time of UART_read(), it is in trouble that the next data processing is out of order

    The measured waveform is as follows

     CH1:GPIO

     CH2:UART_RXD

    The settings when measuring is as follows

    ・MCLK:8MHz (I can not raise the operating frequency any more)

    ・Baud Rate:115200

    ・Receive 1 bytes  data using UART_read()

    ・GPIO goes High immediately after exiting UART_read ()

    Is there a way to solve the above?

    I confilmed the source code of UART_read(), but I can't understand the content of process of UART_read().

    Could you give me something advices to reduce cycle time of UART_read() ?

    Regards,

    uchida-k

  • Hi Uchida,

    Can you post the UART configuration you are using (blocking or callback, data or text, etc)?

    -- Emmanuel
  • Hi Emmanuel,

    Thank you for your reply.

    I measured turn arround cycles using the uartecho in TI-RTOS exsamples .
    UART settings is as follows.

    UART_Handle uart;
    UART_Params uartParams;

    UART_Params_init(&uartParams);
    uartParams.writeDataMode = UART_DATA_BINARY;
    uartParams.readDataMode = UART_DATA_BINARY;
    uartParams.readReturnMode = UART_RETURN_FULL;
    uartParams.readEcho = UART_ECHO_OFF;
    uartParams.baudRate = 115200;
    uart = UART_open(Board_UART0, &uartParams);

    UART_read() seems to be working as blocking mode , and receiving 8bit char data.

    Regards,

    uchida-k
  • Hi Uchida,

    Sorry for the late reply.

    That is an unusually long time. Are there any other tasks in the application? At what frequency the CPU operating at? Are you using instrumented libraries in your project? Can you attach your *.cfg file?

    -- Emmanuel
  • Hi Emmanuel,

    Thank you for your reply.

    Are there any other tasks in the application?

     Are you using instrumented libraries in your project?

    Can you attach your *.cfg file?

    ->I am using "uartecho_MSP_EXP430F5529LP_TI_MSP430F5529"

        I changed only the operating frequency and the GPIO test code in this project.

        Now, I'm testing this project using MSP-EXP430F5529LP.

    At what frequency the CPU operating at? 

    -> Operating frequency is 8MHz.

        I cant raise it any further.

    Could you tell me why the turn arround time of the UART_read() API is very long?

    Regards,

    uchida-k

**Attention** This is a public forum