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.

[参考译文] MSP430FR5739:在MSP430FR5739中读取启动板中的SW2和SW2交换机输入

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/574001/msp430fr5739-reading-a-sw2-and-sw2-switch-input-in-the-launchpad-in-the-msp430fr5739

部件号:MSP430FR5739

我正在尝试读取连接 到MSP430FR5739实验启动板的S1和S2。 我的代码如下:

#include <MSP430-h>

int main(void)
{

WDTCTL = WDTPW + WDTHOLD; //停止看门狗计时器

P4DIR =0; //将WFP 1.0 设置为输出方向
P4REN =(BIT0 + BIT1);//将位0,1调高,并保持高。 请参阅 www.ti.com/.../slau343b.pdf 第7页S1,S2连接。

PJDIR =(BIT0 + BIT1 + BIT2 + BIT3);//在端口
P3DIR中设置输出=(BIT4 + BIT5 + BIT6 + BIT7);//在端口

P3OUT = 0中设置输出;//将初始输出设置为LOW
PJOUT = 0;//

在(1)时将初始输出设置为LOW

如果(P4IN & BIT1)== BIT1){//执行按位操作,并在1和P4IN寄存器之间进行操作

P3OUT = 0;
PJOUT =(BIT0 + BIT1 + BIT2 + BIT3); //如果设置了WFP 1.4 ,则设置WFP 1.0
}

如果((P4IN和BIIT2)== BIIT2){

PJOUT = 0;
P3OUT =( BIT4 + BIT5 + BIT6 + BIT7);
}

}
} 

以上代码未检测到开关输入。 我知道这是一项非常简单的任务。 但是,我无法使其发挥作用。 如果有人能提供帮助,我将不胜感激。

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

    你好,哈里!

    代码中的注释与书面代码行不匹配。

    LaunchPad上的按钮将输入引脚短接到GND,因此必须将它们向上拉至DVcc。 通过设置PxREN,您只能启用电阻器,但它会向下拉引脚,直到也为该引脚设置PxOUT位。 因此,您还应设置P4OUT ||(BIT0 | BIT1);

    由于按下的按钮为低级别,您必须反转轮询至IF(!(P4IN & BIT1))。

    另请注意,您启用BIT0和BIT1的电阻器,但随后轮询BIT1和BIT2。

    #include <msp430fr5739.h>
    
    void main( void )
    {
    
    WDTCTL =(WDTPW | WDTHOLD);
    
    P4REN =(BIT0 | BIT1);
    P4OUT =(BIT0 | BIT1);
    
    PJDIR =(BIT0 | BIT1 | BIT2 | BIT3);P4OUT =(BIT0|BIT5)(
    
    
    而BIT5)BIT5
    
    IF(!(P4IN & BIT0)
    {
    P3OUT = 0;
    PJOUT =(BIT0 | BIT1 | BIT2 | BIT3);
    }
    
    IF(!(P4IN & BIT1))
    {
    PJOUT = 0;
    P3OUT =(BIT4 | BIT5 | BIT6 | BIT7);
    }
    }
    } 

    Dennis

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    感谢你能抽出时间。 为这一非常鲁莽的错误道歉。 感谢您告诉我必须启用p4out。