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/MSP430FR5739:MSP430FR5739头文件

Guru**** 2540720 points
Other Parts Discussed in Thread: MSP430FR5739

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

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/639673/ccs-msp430fr5739-msp430fr5739-header-file

部件号:MSP430FR5739

工具/软件:Code Composer Studio

您好,
我是MSP430编程领域的新手。 在我的代码中,我尝试将IO寄存器作为位字段变量处理,但是
这似乎是CCS不承认的。 我的代码具有以下定义:

#include <MSP4S.h>

#define _MSP430FR5739_

#define LED1 P1OUT_Bit.P1OUT_0

。。

CCS编译器将输出以下消息:

错误:#20标识符"P1OUT_Bit.P1OUT_0"未定义。


似乎仍然缺少一个头文件,该文件包含特定设备的所有寄存器的定义。
我将非常感谢您在这个问题上提供的帮助。

此致,
LAVI

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

    您选择使用的格式不是MSP430的典型格式。 我们的头文件将位定义为BIT0,BIT1,BIT2等。因此,如果您想在WFP 1.0 上输出高输出,您可以写:

    P1OUT |= BIT0;

    而输出低则是:

    P1OUT &=~BIT0;

    然后,您可以 使用上述设置#定义LED开/关。

    #define LED1_ON (P1OUT |= BIT0)
    #define LED1_OFF (P1OUT &=~BIT0)
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Jace H,您好!
    感谢您的回复。

    您描述的屏蔽方法是否是寄存器位引用的首选方法?

    根据我使用PIC微控制器的经验,将寄存器作为位字段变量处理会更加方便。 因此,您可以直接访问指定的寄存器位,而不是显式屏蔽它。

    Microchip提供了一个头文件,其中包含所有必要的定义。 TI是否提供类似的支持库?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,Lavi:

    所有MSP43s寄存器定义和支持都包含在IDE的MSP430支持软件包附带的头文件中。 MSP430的寄存器访问格式与PIC微芯片不同。  用 所需的位字段屏蔽每个寄存器是用于MSP430的方法。 我已经向您展示了如何执行Pin寄存器的示例。 这些是通过BITx掩码完成的;但是,外围或核心寄存器实际上将位字段描述作为掩码的一部分。 例如,计时器控制寄存器的地址可以如下所示:

    TB0CTL = TBSSEL_2 + MC_1; // SMCLK,UP模式
    TB0CTL = TBSSEL__SMCLK + MC__UP; // SMCLK,向上模式 

    如您所见,这可以通过两种方式实现。 一种方法实际上将数字放置在位字段中,而另一种方法允许编码器查看它们在寄存器中实际选择的选项。 但这两种方法都解决了相同的问题。 如果您使用CCS,则当您开始键入选项(如'MC_')时,您可以输入CTL+SPACE作为CCS,以便为您提供自动填充选项。