关于I/0口中断和定时器中断的问题

2019-03-24 13:46发布

在研究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口中断无法跳进去  求大神教我=。= 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
1条回答
Aesi
2019-03-24 16:00
 精彩回答 2  元偷偷看……0人看过

一周热门 更多>

相关问题

    相关文章