关于定时器的使用
1、你好,我发现ti的协议栈关于timer这部分的代码是没有的?请问可以在协议栈中实现打开timer3,并使能定时器3的中断的功能吗?
2、我做成串口透传,当收到相关指令时使能一个10ms的定时事件(使用osal_start_timerex),10ms调用一次发送数据出去,同时开启定时器3,使能480us进入中断一次,也是不断的执行,但是发现这样会导致蓝牙的端开,请问这是什么原因吗?
尝试一下拉长进中断的时间
1: 现在Timer的代码都是自己写,TI有一份简单的裸机驱动代码,你可以参考参考
2: 2540是51内核,480us的中断时间有点长了
你好:
void Timer3_Init()
{
T3CTL |= BV(3); //开启溢出中断
T3CTL |= BV(5) | BV(6) | BV(7) ;//128分频
T3CTL &= ~ BV(1); //模模式
// T3CTL |= BV(4); //启动timer3
T3IE =1; //开启T3中断控制
EA=1;
}
#pragma vector = T3_VECTOR
__interrupt void Timer3_ISR(void)
{
P1_5=!P1_5;
}
我是这样配置的,应该问题不大,但是就是定时器不准,有什么可能的原因吗?
你好:
void Timer3_Init()
{
T3CTL |= BV(3); //开启溢出中断
T3CTL |= BV(5) | BV(6) | BV(7) ;//128分频
T3CTL &= ~ BV(1); //模模式
// T3CTL |= BV(4); //启动timer3
T3IE =1; //开启T3中断控制
EA=1;
}
#pragma vector = T3_VECTOR
__interrupt void Timer3_ISR(void)
{
P1_5=!P1_5;
}
我是这样配置的,应该问题不大,但是就是定时器不准,有什么可能的原因吗? 128分频,480us应该可以的