TI的ZigBee协议栈的定时器接口函数无法使用?定时器在协议栈无法使用?
[复制链接]
TI的大神们,我使用协议栈的定时器接口函数准备操作定时器,搞不懂了,就是不进中断,回调函数也没用 编译TIMER=TRUE 在SampleApp_Init()里面定义的了定时器的配置函数 HalTimerConfig(HAL_TIMER_0,HAL_TIMER_MODE_CTC, HAL_TIMER_CHANNEL_A, HAL_TIMER_CH_MODE_OUTPUT_COMPARE, TRUE, timer3CallBackFunction); HalTimerInterruptEnable(HAL_TIMER_0, HAL_TIMER_CH_MODE_OUTPUT_COMPARE, TRUE); 当ZDO_STATE_CHANGE触发,成为终端设备时候执行HalTimerStart(HAL_TIMER_0, 5000); 回调函数: static void timer3CallBackFunction(uint8 timerId, uint8 channel, uint8 channelMode)
{
SampleApp_Send_P2P_Message();
} 根本进不去回调函数,然后我再去看中断处理
HAL_ISR_FUNCTION( halTimer3Isr, T3_VECTOR )
{
halProcessTimer3();
}
设断点无法进入......也不执行。无解中....... 之后换了种办法,去掉编译TIMER=TRUE,自己用寄存机配置 void InitT3() { T3CTL |= 0x08 ; //开溢出中断 T3IE = 1; //开总中断和 T3 中断 T3CTL |= 0xE0; //128 分频,128/16000000*N=0.5S,N=62500 T3CTL &= ~0x03; //自动重装 00->0xff 62500/255=245(次) T3CTL |= 0x10; //启动 EA = 1; //开总中断 } HAL_ISR_FUNCTION( halTimer3Isr, T3_VECTOR ) { RCON = 0x00; //清中断标志, 也可由硬件自动完成 if(count++ > 245) //245 次中断后 LED 取反,闪烁一轮(约为 0.5 秒时间) { //经过示波器测量确保精确 count = 0; //计数清零 LED1 = ~LED1; //改变 LED1 的状态
} } 这里灯始终不闪....无解ing........................
|