微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > 射频无线通信设计 > zigbee中定时器事件

zigbee中定时器事件

时间:10-02 整理:3721RD 点击:
定时器事件(添加步骤)
1,#define SAMPLEAPP_Timeing_MSG_DOOR 0xD1DE //自己添加的
#define SAMPLEAPP_Timeing_MSG_DOORTIMEOUT 5000
2,在任务处理函数中添加这个
if ( events & SAMPLEAPP_Timeing_MSG_DOOR) //自己定义的定时事件
{
if(dingshi<2)
{

dingshi++;
osal_start_timerEx( SampleApp_TaskID,
SAMPLEAPP_Timeing_MSG_DOOR,
SAMPLEAPP_Timeing_MSG_DOORTIMEOUT );
}

else{
R1=1;
R2=1;
dingshi=0;
}
return (events ^ SAMPLEAPP_Timeing_MSG_DOOR);
3,在相应的地方调用
osal_start_timerEx( SampleApp_TaskID,
SAMPLEAPP_Timeing_MSG_DOOR,
SAMPLEAPP_Timeing_MSG_DOORTIMEOUT );

出现的问题 我用这个控制继电器吸合的时间,本应定时15秒,但是继电器的灯也就闪了一下就完了,我系统里面的 osal_start_timerEx( SampleApp_TaskID,
SAMPLEAPP_RUN__EVT,
SAMPLEAPP_RUN_TIMEOUT );//启动超时定时器
我用上面这个函数,还是同样的放在那个循环里就没问题,可以定时15秒,请问这是为什么呢?

你这个是什么芯片,我之前用过zigbee的模组

用的是cc2530芯片 这个定时器事件我不放在这个循环里就可以定时五秒来使继电器吸合,放在循环里就闪一下就不行了,不知为什么

#define SAMPLEAPP_Timeing_MSG_DOOR 0xD1DE 改小点试试 如 0x0011
另else那里要不要重新定时下呢

首先你的事件最好是偶数比较好,SAMPLEAPP_RUN__EVT 你定义的是多少呢

SAMPLEAPP_RUN__EVT 0x0002 我试试 谢谢各位指教

谢谢各位 我把他改成小一点的偶数就可以了,不知这个函数最多单独能定时多久?我现在试一下,有试过的朋友吗

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top