代码如下:#include "msp430f149.h"
int main( void ){ // Stop watchdog timer to prevent time out reset WDTCTL = WDTPW + WDTHOLD; P3DIR |=0x06; CCTL0=CCIE; //CCR0中断允许 CCR0=20000; TACTL=TASSEL_2+TACLR+MC_2+TAIE; //时钟源SMCLK,计数器清零,连续计数,溢出中断允许 _BIS_SR(LPM0_bits+GIE);}//Timer_A0中断服务程序#pragma vector=TIMERA0_VECTOR__interrupt void Timer_A(void){ P3OUT^=0x02; CCR0+=20000;}//Timer_A3中断服务程序#pragma vector=TIMERA1_VECTOR__interrupt void Timer_1(void) //读取TAIV,复位中断标志{ switch(TAIV) { case 2: break; case 4: break; case 10: P3OUT ^=0x04; break; }}这段程序写完,我有了个疑问,希望大家帮忙解决。就是TAR达到0FFFFh时,main函数是重头再执行还是什么,我这里想的是若是不重新执行的话CCR0的值就是不会回到20000,也就应该没了方波的效果吧。
[
本帖最后由 麻滴滴 于 2012-7-9 11:37 编辑 ]
此帖出自
小平头技术问答
一周热门 更多>