为何P1.3一直为低电平,导致按键没有作用

2019-03-24 09:52发布

请大神帮忙看下,就这么一个简单的程序  就是不知道错误在哪里??????急
#include"msp430g2553.h"

void main(void)
{
        WDTCTL=WDTPW+WDTHOLD;
        P1DIR=0X01;
        P1OUT|=BIT0;
        P1REN|=BIT3;        //设置内电阻
        P1OUT|=BIT3;    //设置上拉
        while(1)
        {
                if((P1IN&BIT3)==0)    //不用按下键也可以进去  太奇怪了 按道理P1IN应该为高电平??
                {
                        _delay_cycles(100000);
                        if((P1IN&BIT3)==0)
                        {
                                P1OUT^=BIT0;
                                _delay_cycles(10000);
                                while(!(P1IN&BIT3));     //程序一直在里面出不来????
                        }
                }
        }
       
}



此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
10条回答
wateras1
2019-03-25 06:05
#include "io430.h"
#include "intrinsics.h"
void main(void)
{
  unsigned int i=0;
  WDTCTL = WDTPW + WDTHOLD;
  P1DIR|=(BIT0+BIT6);
  P1DIR&=~BIT3;
  P1OUT|=(BIT0+BIT6);
  P1REN|=BIT3;
  while(1)
  {
    if(!(P1IN&BIT3))
    {
      for(i=0;i<23000;i++);
      if(!(P1IN&BIT3))
      {
        while(!(P1IN&BIT3));
        P1OUT^=(BIT6+BIT0);
      }
     
    }
   
   
  }
  
  

一周热门 更多>

相关问题

    相关文章