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.

MSP430F6779A: MSP430F6779A does not support usci_a_uart.c file

Part Number: MSP430F6779A
Other Parts Discussed in Thread: MSP430WARE

I am working with the MSP430F6779A and trying to implement UART communication using DriverLib.

However, I am facing an issue where the functions in usci_a_uart.c are not getting compiled, and I receive errors indicating that UART-related macros and functions (e.g., USCI_A_UART_NO_PARITY) are undefined.

Upon investigation, I found that the condition:

#ifdef __MSP430_HAS_USCI_Ax__

used inside DriverLib is not satisfied, as this macro is not defined in the device header file (msp430f6779a.h).

Instead, I observe that macros such as:

__MSP430_HAS_EUSCI_A0__

are defined in the header file.

This leads to confusion regarding the UART peripheral type and DriverLib compatibility.

I would like clarification on the following points:

  1. How should UART be correctly implemented on MSP430F6779A using DriverLib?

  2. Does MSP430F6779A support standard USCI UART, or only eUSCI (enhanced UART)?

  3. Is there a recommended or compatible version of DriverLib for this device?

  4. Why does the device header define eUSCI-related macros while DriverLib expects USCI-related macros?

  5. Are there any official DriverLib examples for UART on MSP430F6779A, or is register-level programming the recommended approach?

Currently, UART communication works correctly when implemented using register-level programming, as shown in the available example codes.

Kindly provide guidance on the correct approach and any recommended resources.

Thank you.

 

  • Hi Sheetal,

    The MSP430F677xx devices have the enchanced universal serial communication interface (eUSCI) for the UART portion, you would need to use the related functions and files. I believe the naming should be the same except instead of USCI_A_UART_xxx(), the functions will have the naming EUSCI_A_UART_xxx().

    We don't have any precreated examples in the MSP430Ware using DriverLib for this device, but you can use the MSP430 Driverlib for MSP430F5xx_6xx Devices User's Guide to create the examples. The user's guide will also direct on the usage for the EUSCI_A_UART functions.

    Typically, most user's use the register level programming because it allows for the best optimization of execution speed and data to fit the specific application use case.

    Regards,
    Luke