中断

2019-03-24 13:59发布

代码如下:#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 编辑 ] 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
6条回答
麻滴滴
2019-03-24 19:34
是不是这个程序输出来根本就不是方波,只能是在同一个计数周期内是方波,求解答!

一周热门 更多>

相关问题

    相关文章