ZigBee调用协议栈函数触发系统事件实例

1,最简单的例子,调用此函数设置任务的事件标志。

uint8 osal_set_event( uint8 task_id, uint16 event_flag )

    参数:接收事件的ID                      我这里传入的是通用应用程序的ID,可以在GenericApp_Init()函数里面找到

               什么样的事件                      这里我传入的是:GENERICAPP_SEND_MSG_EVT,应用事件(OSAL)

 

然后在通用应用程序任务事件处理器:UINT16 GenericApp_ProcessEvent( byte task_id, UINT16 events ),这个函数里面处理发生的事件就好了!

也可以调用:osal_start_timerEx(GenericApp_TaskID, GENERICAPP_SEND_MSG_EVT ,3000);这个函数,用法和上面一样,只是多了一个参数,这个参数可以设定多少时间后处理事件!

 

2,当然,只有两个事件我们是肯定不够用的,我们也可以自己添加自己的事件!

    我们通过系统事件定位到事件声明的宏的位置

ZigBee调用协议栈函数触发系统事件实例_第1张图片

在这里:GENERICAPP_MY_EVT,是我自己定义的事件,取值为0x0002

然后在事件处理函数里面写下处理就好。

ZigBee调用协议栈函数触发系统事件实例_第2张图片

 

你可能感兴趣的:(ZigBee)