原创
SampleApp工程SampleApp_ProcessEvent函数简析
消息处理函数(SampleApp_ProcessEvent)主要处理SYS_EVENT_MSG消息和SAMPLEAPP_SEND_PERIODIC_MSG_EVT消息。SYS_EVENT_MSG包含几个子消息:当系统状态发生改变时(收到ZDO_STATE_CHANGE消息)消息处理函数发送消息SAMPLEAPP_SEND_PERIODIC_MSG_EVT(osal_start_timerEx( SampleApp_TaskID,SAMPLEAPP_SEND_PERIODIC_MSG_EVT,SAMPLEAPP_SEND_PERIODIC_MSG_TIMEOUT );)该消息(SAMPLEAPP_SEND_PERIODIC_MSG_EVT)同样被SampleApp_ProcessEvent接收处理,处理的结果是发送LED的闪烁周期(SampleApp_SendPeriodicMessage()),同时也发送SAMPLEAPP_SEND_PERIODIC_MSG_EVT消息(osal_start_timerEx( SampleApp_TaskID, SAMPLEAPP_SEND_PERIODIC_MSG_EVT,(SAMPLEAPP_SEND_PERIODIC_MSG_TIMEOUT + (osal_rand() & 0x00FF)) )),这样一来形成一个循环,每隔一段时间就执行一次。
接收到数据消息(AF_INCOMING_MSG_CMD)由SampleApp_MessageMSGCB( MSGpkt )处理,执行结果是按收到的闪烁周期使HAL_LED_4闪烁。按键消息(KEY_CHANGE)则由SampleApp_HandleKeys处理,但按键处理函数只处理两个按键HAL_KEY_SW_1和HAL_KEY_SW_2。
用户1775183 2014-11-28 09:25