各位大神,我现在想在之前的流水灯程序加一个按键控制,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
你这个IO口拉高了以后,并没有拉低复位,所以一直都是亮着的
if(P2IN &= ~BIT1) =====>>> if (P2IN & BIT1)