一个新手关于MSP430 launchpad 的一些问题
本帖最后由 竹叶听筝 于 2012-7-9 11:54 编辑问题一:
按键 是P1.3口;P1.0,和p1.6是两个LED灯;就是按键不太会!环境是IAR
#include "msp430x14x.h"
void delay(void)
{ unsigned char i,j;
for(i=200;i>0;i--)
for(j=200;j>0;j--);
}//延时
void delay1(void)
{ unsigned int k;
for(k=5000;k>0;k--);
}//按键延时
voidmain( void )
{
WDTCTL = WDTPW + WDTHOLD;
P1DIR=0x41;
P1DIR|=0X08;
P1OUT |=0x08;
if(P1IN!=0x08)//高手,这里对不对?
{delay1();
if(P1IN!=0x08)
{
while(1)
{
P1OUT |=0x40; P1OUT &=~0x01;
delay();
P1OUT &=~0x40; P1OUT |=0x01;
delay();
}
}
}
}
问题二:关于中断
#include <msp430x14x.h>
void main(void)
{
WDTCTL = WDTPW + WDTHOLD;
P1DIR |= BIT6;
P2IE |= BIT0;
P2IES |= BIT0;
P2IFG &= ~BIT0;
_EINT();
LPM4;
}
#pragma vector=PORT2_VECTOR
__interrupt void Port_2(void)
{
P1OUT ^= BIT6;
P2IFG &= ~0x01;
}
请你们帮忙看看
按键就跟流水灯一样,只是你要往里读数据。 天使之翼 发表于 2012-7-9 20:21 static/image/common/back.gif
按键就跟流水灯一样,只是你要往里读数据。
我对那个launchpad都无语了,怎么编都编不出! 唉 有什么好无语的0 0,肯定你哪里出问题了! P1IN!=0x08 对不对我忘了,但我能肯定的是:不保准。
对任何量,如果只判断一位或者特定几位,一定要用AND将不必要的位掩去后再作判断,不可省略。 shamiao 发表于 2012-7-11 14:16 static/image/common/back.gif
P1IN!=0x08 对不对我忘了,但我能肯定的是:不保准。
对任何量,如果只判断一位或者特定几位,一定要用AND ...
谢谢你,问题已经成功解决了
页:
[1]