[讨论] 学渣求解

HI唐辉   2016-12-21 14:54 楼主
各位大神,我现在想在之前的流水灯程序加一个按键控制,MSP430F5529上P2.1上是S1按键,这个应该怎么定义按键呢?我写的程序在下面,不知道为什么不能控制。。。


[img]file:///C:\Users\Administrator\AppData\Roaming\Tencent\Users\951141617\QQ\WinTemp\RichOle\Q~ZPU5D[0T2PZ{WI9WCZ5{8.png[/img]#include
#include"intrinsics.h"
//#include"in430.h"
/*
* main.c
*/

int main(void)
{
    WDTCTL = WDTPW | WDTHOLD;        // Stop watchdog timer
    P2DIR |= BIT1;
    unsigned char LED[]={BIT0,BIT2,BIT3,BIT4,BIT5,BIT6,BIT7};
    unsigned int i;
    P2DIR |= (BIT0+BIT2+BIT3+BIT4+BIT5+BIT6+BIT7);
    P2DS = 0XFF;

   while(1)
   { if(P2IN &= ~BIT1)

            for(i=0;i<7;i++)
                    {
                    P2OUT = LED;
                _delay_cycles(100000);
                    }
    else
     P2OUT = 0XFF;
   }
}


More information,please add the weibo ID :_Tang辉,chat number :951141617

回复评论 (2)

你这个IO口拉高了以后,并没有拉低复位,所以一直都是亮着的
点赞  2016-12-21 15:00
if(P2IN &= ~BIT1)    =====>>>    if (P2IN & BIT1)
点赞  2016-12-21 15:22
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复