在研究Launchpad时想到了这个问题 于是做了一个程序
#include "msp430g2231.h"
unsigned int j=0,k=0;
int main( void )
{
WDTCTL=WDTPW+WDTHOLD;
P1DIR|=BIT6+BIT0;
P1IE|=BIT3;
P1IES|=BIT3;
P1IFG&=~BIT3;
TACCTL0=CCIE;
TACCR0=60000;
TACTL=TASSEL_2+MC_2;
_EINT();
while(1);
}
#pragma vector=TIMERA0_VECTOR
__interrupt void dog_timer(void)
{
unsigned int i;
if(j==0) P1OUT|=BIT0;
if(j==1) P1OUT&=~BIT0;
i=60000;
while(i--);
while(i--);
while(i--);
while(i--);
j++;
if(j==2) j=0;
}
#pragma vector=PORT1_VECTOR
__interrupt void p13_t(void)
{ unsigned int i1;
if(k==0) P1OUT|=BIT6;
if(k==1) P1OUT&=~BIT6;
P1IFG&=~BIT3;
k++;
if(k==2) k=0;
i1=10000;
while(i1--);
}
P1.3按键使LED2亮暗交替 定时器延时使LED1 亮暗交替
单独使用程序都是好的, 但是同时打开2个中断 会使I/0口中断无法跳进去 求大神教我=。=
此帖出自
小平头技术问答
一周热门 更多>