Zigbee定时器
时间:10-02
整理:3721RD
点击:
对于CC2530芯片,采用ZStack-CC2530-2.5.1a协议栈。在使用多个定时器(#define RECEIVE_TIME 0x0001;
#define ADC_TIME 0x0004)时出现问题。
情况描述:
1. RECEIVE_TIME事件为应用层对Coordinater发送给EndDevice心跳包的检测,如果EndDevice每5s没有收到来自Coordinater的包,则切换信道和PANID。
2.ADC_TIME事件为EndDevice定时采集信息上传事件。
问题:
当两个定时器同时工作时,EndDevice容易发生状况使Coordinater接收不到来自EndDevice的数据采集包,同时EndDevice再扫描入网。
#define ADC_TIME 0x0004)时出现问题。
- if(events & RECEIVE_TIME)
- {
- Change_PanId();
- return ((events &(0xFFFE)));
- }
- }
-
-
- if(events & ADC_TIME)
- {
- ReadADC_Auto();
- osal_start_timerEx(GenericApp_TaskID , ADC_TIME , ADC_TimeOut);
- return (events & 0xFFFB);
- }
情况描述:
1. RECEIVE_TIME事件为应用层对Coordinater发送给EndDevice心跳包的检测,如果EndDevice每5s没有收到来自Coordinater的包,则切换信道和PANID。
2.ADC_TIME事件为EndDevice定时采集信息上传事件。
问题:
当两个定时器同时工作时,EndDevice容易发生状况使Coordinater接收不到来自EndDevice的数据采集包,同时EndDevice再扫描入网。