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.

[参考译文] MSP430FR2433:使用 XIN / XOUT 作为带有 driverlib 的 GPIO

Guru**** 2558250 points


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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/720554/msp430fr2433-using-xin-xout-as-gpio-with-driverlib

器件型号:MSP430FR2433

大家好、我想将 XIN/XOUT 引脚分配为 GPIO、但它们似乎不起作用。 我正在尝试尽可能使用 driverlib。

数据表建议我需要使用 P2SEL0和 P2SEL1、我想知道是否有办法通过 driverlib 来处理这一点、因为我的代码不起作用。

也许我还必须通过某种方式配置时钟源、以便将引脚用作 GPIO?

我的代码如下:

#include 
#include 
include "driverlib/MSP430FR2xx_4xx/driverlib.h"

int main (void)
{
//禁用看门狗计时器
WDTCTL = WDTPW | WDTHOLD;

//将 P2.0和 P2.1设置为 GPIO (而非 XTAL)
P2SEL0 &=~(BIT0 + BIT1);
P2SEL1 &=~(BIT0 + BIT1);

//设置 LED 引脚
GPIO_setAsOutputPin (GPIO_PORT_P2、GPIO_PIN0);
GPIO_setAsOutputPin (GPIO_PORT_P2、GPIO_PIN1);
GPIO_setOutputHighOnPin (GPIO_PORT_P2、GPIO_PIN0);
GPIO_setOutputLowOnPin (GPIO_PORT_P2、GPIO_PIN1);
} 

如果您想了解有关如何将 xtal 引脚用作 GPIO 的建议、可随时获取。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    兆字节,
    该代码可以在我的电路板上工作、并在 P2.0和 P2.1上输出高电平。

    P2SEL0 &=~(BIT0 + BIT1);
    P2SEL1 &=~(BIT0 + BIT1);

    P2DIR = BIT0 | BIT1;
    P2OUT = BIT0 | BIT1;

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

    感谢 Cash、但它仍然无法正常工作。 以下是我已更改的代码、以包含您的建议:

    #include 
    
    int main (void)
    {
    //禁用看门狗定时器
    WDTCTL = WDTPW | WDTHOLD;
    
    //将 P2.0和 P2.1设置为 GPIO (非 XTAL)
    P2SEL0 &=~(BIT0 + BIT1);
    P2SEL1 &=~(BIT0 + BIT1);
    
    P2DIR = BIT0 | BIT1;
    P2OUT = BIT1
    
    ;while}(BIT1)
    

    我仍然看不到 P2.0和 P2.1引脚输出的任何电压。 它们看起来都是浮动的。 我还需要配置什么吗?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您还需要在以下位置进行此操作:
    > PM5CTL0 &&~LOCKLPM5;//启用 GPIO
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    就是这样! 谢谢!
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    是的、您需要在完成 GPIO 端口配置后进行此操作。
    #include

    int main (空)

    //禁用看门狗计时器
    WDTCTL = WDTPW | WDTHOLD;

    //将 P2.0和 P2.1设置为 GPIO (而非 XTAL)
    P2SEL0 &=~(BIT0 + BIT1);
    P2SEL1 &=~(BIT0 + BIT1);

    P2DIR = BIT0 | BIT1;
    P2OUT = BIT0 | BIT1;
    PM5CTL0 &=~LOCKLPM5;//启用 GPIO

    while (1){}