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.

[参考译文] CCS/MSP432P401R:处理 MSP432上的 UART IV 和 MSP430上的 UART

Guru**** 1138100 points
Other Parts Discussed in Thread: MSP430FR6989, MSP432WARE
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/926125/ccs-msp432p401r-handling-uart-iv-on-msp432-as-on-msp430

器件型号:MSP432P401R
主题中讨论的其他器件: MSP430FR6989MSP432WARE

工具/软件:Code Composer Studio

我要将一些代码从 MSP430移植到 MSP432、并且很难缺少大量常量。 为 MSP432移植以下代码的特殊方法是什么?

switch (__evo_in_range (UCA0IV、USCI_UART_UCTXCPTIFG)){
USCI_NONE 案例:
中断;
USCI_UART_UCRXIFG 案例:
//… 处理 RX…
中断;
USCI_UART_UCTXIFG 案例:
//… 处理 TX…
中断;
USCI_UART_UCSTTIFG 案例:
断开;
//…等 

似乎只有 IFG 标志的常量可用、例如、EUSCI_A_IFG_TXIFG 扩展为0x2、而不是通过 USCI_UART_UCTXIFG 获取的0x4。

我是否在 MSP430中使用了错误的头文件/常量? 或者 IV 的使用是否已被弃用? 为什么这些常量消失了、我应该用什么代替它们?

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

    之前有一个头文件"msp432p401r_classic.h"、其中提供了 MSP430-ish 名称。 CCS v8.3中仍然存在、但我没有 v9或 v10。

    一般情况(示例等)是 ARM 的 CMSIS 约定。 在这种情况下、您会引用类似 USCI_A0->IV 的内容;

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

    谢谢、是的、我们注意到了_classic 标题、但对更新内容更感兴趣。 理想情况下、如果两个 MSP 平台之间有一种使用方法、但不希望接受任何弃用方法。

    根据 USCI_A0->IV 惯例、我应该将这些值与哪些常量进行比较? 现在的做法是否只是硬编码数字、如"CASE 0x4:"? 这似乎不是很好的样式、尤其是当 TI 用于提供 USCI_UART_UCTXIFG 等常量 时。

    是否有人可以提供移植为"最佳实践"样式的原始代码示例? 我仍然感到困扰的是、如果 IV 寄存器仍打算使用、为什么不再提供相应的常量[除了"经典"中的常量、这听起来像是在新代码中要避免的]。

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

    嗯。 我看不到 msp432p401r.h 中定义的 IV 值的名称 但我也看不到您在 msp430xxx.h 中定义的符号(样本大小2)。 我确实看到(对于 MSP430)形式为 UCIV_UCTXIFG 的符号。

    在 MSP430代码中、如果您右键单击其中一个名称并"转到定义"、您会转到何处?

    [编辑:好奇--我在 fr5994.h 和 fr2311.h 中看不到这些符号,但我在 fr2433.h 中看到它们 我确信有充分的理由、但我不知道。]

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

    是的、在我的代码中、我只需`#include `μ A。 在旧开发板上、符号最终在文件 CCS_base/MSP430/include/msp430fr6989.h 内解析

    我想知道这些不一致之处是否只是 TI 战略和建议的持续转变? 我一直在使用 标题、但也要知道预先更新的版本 一个。 现在还阅读(在 SimpleLink 迁移指南中)以下内容:

    > 即使您当前未使用 MSP432Ware 和/或 TI 提供的库、请注意、将来不会通过 IDE 部署器件头文件。 因此、安装和使用 SDK 对于保持软件项目更新和使用正确版本的器件头文件至关重要。  

    [重点地雷]

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

    你(们)好

    请参阅应用手册《从 MSP430迁移到 MSP432器件》

    https://www.ti.com/lit/an/slaa656d/slaa656d.pdf?ts=1597673163158&ref_url=https%253A%252F%252Fwww.ti.com%252Fproduct%252FMSP432P4011%253FkeyMatch%253DMSP432P401%2526tisearch%253DSearch-EN-everything%2526usecase%253DGPN