TI工程师你好!
我现在在使用cc2530定时器1 Modulo 模式中断出现进不了中断问题。
1、我的定时器1中断初始化如下:
void timer1_init(void)
{ RLED = 1 ;
T1CTL |= 0x02 ; //1分频,模模式,从0计数到T1CC0
T1CC0L = 0xc4 ;
T1CC0H = 0x09 ; TIMIF |= 0x40; //設定Timer1溢出中斷使能
IRCON &= ~0x02; //清除Timer1中斷標記
IEN1 |= 0x02; //设定Timer1中断使能
IEN0 |= 0x80; //设定总中断使能}
2、定时器1模模式中断代码如下:
#pragma vector = T1_VECTOR
__interrupt void T1_IRQ(void)
{ if(++count1>=1) { RLED = !RLED ; //LED闪烁 count1 = 0 ;
}
IRCON &= ~0x02 ;
}
3、在初始化代码中,当我把T1CTL寄存器 T1CTL |= 0x01 时,可以正常进入中断。
请专家指点其中原因,谢谢!
摇曳の飞叶:
我也发现使用模模式进不去中断,是不是系统有BUG
Zhenjiang Guo:
回复 摇曳の飞叶:
我也遇到了同样的问题,搞了半天,定时器1和定时器3都试过了,不行的……
user4429803:
TIMIF |= 0x40; 这句不是必要的
加上这句试试:
T1CCTL0 ^= 0x04; //设置捕获比较通道0为比较模式
Jingjing Zhang:
加一句:
T1CCTL0 |= 0x44;
就可以了,我也是一开始调试半天发现没有进中断,加上这一句设置就可以了。将T1CCTL0.IM置1,T1CCTL0.MODE置1
chuanqing zhu:
回复 Jingjing Zhang:
不明白为什么要设置T1CCTL0的值?选择比较模式和捕获模式有什么不一样吗?