定时器中断貌似只能进一次中。

2019-03-24 13:27发布

不知有人弄过定时器,计数器,就像下面以下面一样,我用led灯测的时候,就是在看出
进不去count++后面的程序,看样子就是只进了一次中断,
不知哪位研究过的给想个办法,我这弄了半天都不行;
  为啥只进一次中断是那块不行啊,

*void TimerA_init(void)
{
        CCTL0|= CCIE;  //设置捕获/比较控制寄存器,CCIE=0x0010,使能捕获比较中断
        CCR0 =7200;  //设置捕获/比较寄存器,初始值为12000,对于ACLK时钟频率为12khz的频率,相当于1s
        TA0CTL = TASSEL_2+MC_1; // 设置定时器A控制寄存器,TA0CTL = MC_1;

         
}
#pragma vecto

#pragma vector=TIMER0_A0_VECTOR//固定的格式
__interrupt void Timer_A (void) //定时器A的CC0中断处理程序 必须是没有返回值的
{     
        static uchar count = 0;
CCR0=7200;
        count++;
         
if (count == 200)   
{   
  count = 0;
  change_page++;  //换页
               
  if (change_page == 10)
   change_page = 0;
}
               
  
            

} 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
3条回答
yatoo
1楼-- · 2019-03-24 20:40
你led怎么测的呢,没有看到置位啊

定时器的中断标志位需要手动清除吧,或者你调试的时候 可以下断点看一下究竟进入到中断没
cuanli007
2楼-- · 2019-03-25 01:05
 精彩回答 2  元偷偷看……
zuohaiwen112
3楼-- · 2019-03-25 03:20
在中断里不用给CCR0重新赋值吧

一周热门 更多>

相关问题

    相关文章