对于mps430 uC启用或禁用时,上拉电阻会影响按钮吗?

时间:2015-04-23 21:01:26

标签: c microcontroller msp430

代码的工作原理如下: 按下按钮:绿色亮起,红色亮起 按下按钮:绿色关闭,红色开启

当使用按钮在LED之间切换时,所有在线人员看到的代码样本都启用了上拉电阻。这甚至是代码工作所必需的吗?

我在我的代码中注释了这一行,我注意到的唯一变化是它将一个重置按钮变为一个。这是它的意图吗?

#include <msp430g2553.h>

#define LED0      BIT0
#define LED1      BIT6 
#define BUTTON    BIT3

int main(void)
{
    // Stop watchdog timer to prevent time out reset
    WDTCTL = WDTPW + WDTHOLD;
    P1DIR |= 0x40;
    P1OUT &= ~0x40;

    P1DIR |= 0x01;
    P1OUT &= ~0x01;

    P1DIR &= ~0x08;
    P1SEL &= ~0x08;
    //P1REN |=  0x08; 

    while (1) {
        if ((P1IN & 0x08) == 0) {
            P1OUT &= ~0x01;
            P1OUT |= 0x40;      
        } else {
            P1OUT |= 0x01;
            P1OUT &= ~0x40;
        }
    }

    return 0;
}

代码似乎按预期工作但我想知道这个上拉电阻实际上应该做什么?

1 个答案:

答案 0 :(得分:0)

复位线已经被外部电阻上拉,无需使用内部电阻将其上拉。复位引脚也不是GPIO(端口)引脚,因此您基本上无法为其启用内部上拉。至于val x = 5 1 < x < 5 //true 6 < x < 7 //false 3 < x < 4 //false 按钮:一些Launchpad板修订版为该按钮焊接了外部上拉电阻,有些没有。所以你应该为P1.3启用内部上拉,以防万一。未按下P1.3按钮时,电路处于打开状态,您不希望P1.3引脚悬空。因此需要上拉电阻。

我找到了一些我的旧代码,它可能对你有所帮助。特别注意评论。

P1.3

更新

在下面的原理图中,您可以看到“RST”引脚和“P1.3”引脚都有专用的外部上拉电阻:R27用于RST,R34用于P1.3。但是如果你有新的电路板版本 - 那里没有焊接R34,那么你必须使用内部上拉电阻。

您可以找到启动板here的完整原理图。

Launchpad board schematic