CC2530 定时器1 Modulo模式中断问题
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
我也遇到了同样的问题,搞了半天,定时器1和定时器3都试过了,不行的……
TIMIF |= 0x40; 这句不是必要的
加上这句试试:
T1CCTL0 ^= 0x04; //设置捕获比较通道0为比较模式
加一句:
T1CCTL0 |= 0x44;
就可以了,我也是一开始调试半天发现没有进中断,加上这一句设置就可以了。将T1CCTL0.IM置1,T1CCTL0.MODE置1
不明白为什么要设置T1CCTL0的值?选择比较模式和捕获模式有什么不一样吗?
