求大神帮忙看下程序是哪里不对啊,能够产生波,但是p6口一直没有信号输出,h和s是设置的全局变量
void main(void)
{
WDTCTL = WDTPW + WDTHOLD; //看门狗设置
Clock_Init(); //系统时钟设置
TACCTL2 = OUTMOD_7;
TACTL |= TASSEL1 +ID1 + ID0+ MC0; //选择SMCLK 增加模式
TACCR0 = 20000; //PWM信号频率50HZ
TACCR2 = 1000; //高电平1ms
TACCTL2 |=CCIE; //打开中断
P2SEL |= BIT4 ; //选择 p2.4 作为PWM输出 第二功能
P2DIR |= BIT4 ;
while(1)
{
if(s==5)
{
while(1)
{ //5 s后,P6.1 P6.2输出高电平
P6OUT=0x03;
s=0;
}
}
}
}
#pragma vector=TIMERA0_VECTOR
__interrupt void Timer_A(void)
{
h++;
if(h==50)
{
s++;
h=0;
}
} |