1.在协议栈中创建一个任务的步骤
- 定义任务事件处理函数
原型:UINT16 任务处理函数名( byte task_id, UINT16 events )
参数:taskid:任务号
events:事件值
返回值:尚未被处理的事件
- 定义任务初始化函数
原型:void 任务初始化函数名( byte task_id )
参数:task_id:任务号
- 将任务事件处理函数添加到事件处理函数表taskArr[]中;
- 将任务初始化函数添加到void osalInitTasks( void )中
2.在zstack中启动定时器的函数:
原型:uint8 osal_start_timerEx( uint8 taskID, uint16 event_id, uint16 timeout_value )
参数:taskID:此定时器所有者的任务ID;
event_id:定时器溢出时向任务发出的事件掩码;
timeout_value:定时间隔,ms为单位
注意:定时器启动后只会定时一次,如果需要再次定时,则需要再次启动;