msp430 launchpad 芯片是m430g2553 无法检测按键 可能是因为没有上拉 然后我配置了上拉电阻 为什么不成功呢 我用电压表测到管脚电压是0
WDTCTL = WDTPW + WDTHOLD; //关闭看门狗
P1DIR &=~BIT3; //定义P1.3按键
P1DIR|=BIT0; //定义P1.0led
P1REN|=BIT3;//上拉电阻
P1OUT|=BIT3;
程序在此 求指教
Triton Zhang:
MSP430的管脚上拉直接设置PXREN的对应位就行了。更何况LAUNCHPAD的P1.3管脚外部加了一个47K的上拉电阻R34。你检查一下其他原因。
给你一段参考代码,测试好的。
#define BUTTON BIT3
void main(void) { WDTCTL = WDTPW + WDTHOLD; P1DIR &= ~BUTTON; P1IFG &= ~(BUTTON); // 开启同步信号的中断处理 P1IES &= ~BUTTON; // 设置下降沿触发中断 P1IE |= BUTTON; // 使能同步管脚的中断 _BIS_SR(GIE); while(1) {
} } #pragma vector = PORT1_VECTOR __interrupt void P1_IRQ(void) { if (P1IFG & BUTTON) { //…..这里加你需要的代码 }
P1IFG &= ~(BUTTON); }
pain:
回复 Triton Zhang:
谢谢 问题解决了 不过没有配置内部上拉电阻的时候按键确实是检测不到的
ORANGE ORANGE:
回复 pain:
请问如何设置上拉电阻,是不是PxREN置1就行了,还是?