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 不支持 USCI_A_UART.c 文件

Guru**** 2847400 points

Other Parts Discussed in Thread: MSP430F6779A

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/1633327/msp430f6779a-msp430f6779a-does-not-support-usci_a_uart-c-file

部件号: MSP430F6779A
主题: MSP430WARE 中讨论的其他部件

我正在使用 MSP430F6779A、并尝试使用 DriverLib 实现 UART 通信。

但是、我遇到的问题是中的函数usci_a_uart.c没有被编译、并且我收到错误、表明与 UART 相关的宏和函数(例如)USCI_A_UART_NO_PARITY未定义。

经过调查、我发现情况:

#ifdef __MSP430_HAS_USCI_Ax__

在 DriverLib 中使用不符合要求、因为这个宏没有在器件头文件中定义 (msp430f6779a.h)。

相反、我观察到如下宏:

__MSP430_HAS_EUSCI_A0__

在头文件中定义。

这会导致关于 UART 外设类型和 DriverLib 兼容性的混淆。

我想澄清以下几点:

  1. 应该如何使用 DriverLib 在 MSP430F6779A 上正确实现 UART?

  2. MSP430F6779A 是否支持标准 USCI UART、或者仅支持 eUSCI(增强型 UART)?

  3. 是否有为此器件推荐或兼容的 DriverLib 版本?

  4. 为什么器件标头定义 eUSCI 相关宏、而 DriverLib 需要 USCI 相关宏?

  5. 是否在 MSP430F6779A 上有任何适用于 UART 的官方 DriverLib 示例、或者是否采用了建议的方法进行寄存器级编程?

目前、如可用的示例代码所示、当使用寄存器级编程实现时、UART 通信工作正常。

请就正确的方法和任何推荐资源提供指导。

谢谢你。

 

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Sheetal、

    MSP430F677xx 器件具有增强型通用串行通信接口 (eUSCI)、对于 UART 部分、您需要使用相关功能和文件。 我认为命名应该相同、除了 USCI_A_UART_xxx () 之外、函数的命名将是 EUSCI_A_UART_xxx ()。

    在针对此器件使用 DriverLib 的 MSP430Ware 中没有任何预先定义的示例、但您可以使用 适用于 MSP430F5xx_6xx 器件的 MSP430 Driverlib 用户指南 创建示例。 本用户指南还将介绍如何使用 EUSCI_A_UART 函数。

    通常、大多数用户使用寄存器级编程、因为它可以对执行速度和数据进行最佳优化、以适合特定的应用用例。

    此致、
    Luke