|
想在MSP430F149 P1.3管脚输出1008hz 方波,可是怎么配置TACCR2,引脚一直输出周期1S的方波不知道问题出哪?
void main (void)
{
uchar i;
WDTCTL = WDTPW + WDTHOLD;
BCSCTL1 &= ~XT2OFF; // XT2振荡器开启
do
{
IFG1 &= ~OFIFG; // 清除振荡器失效标志
for(i = 0xff; i>0;i--); // 稳定时间
}
while((IFG1&OFIFG) != 0); // 如果振荡器失效标志存在
BCSCTL2|=SELM_2|DIVM_3|SELS|DIVS_3; // MCLK=XT2/2分频=4M,SMCLK=XT2/8分频=1M
TACTL =TASSEL_2+TACLR+ID_3; // TA时钟=SMCLK/8=125KHZ,清除TAR
TACCTL2 |= OUTMOD_4;
TACCR2 = 62;
TACCTL2 |=CCIE; // 允许中断
P1DIR|= BIT3;
P1SEL|= BIT3;
TACTL |=MC_2; //连续计数 模式
_EINT(); //使能总中断
while(1)
{
}
}
#pragma vector=TIMERA1_VECTOR
__interrupt void Timer_A1 (void)
{
if(TAIV==2)
{
}
else if(TAIV==4)// CCR2中断
{
TACCR2+= 62;
}
} |
阿莫论坛20周年了!感谢大家的支持与爱护!!
知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)
|