事件定义:
#define SAMPLEAPP_BROADCAST_EVT 0x0080
#define SAMPLEAPP_BROADCAST_PERIOD 1000
触发事件:
osal_start_timerEx(zclSampleSw_TaskID,
SAMPLEAPP_BROADCAST_EVT,
SAMPLEAPP_BROADCAST_PERIOD);
处理事件:
if ( events & SAMPLEAPP_BROADCAST_EVT )
{
printf("SAMPLEAPP_BROADCAST_EVT\n");
zclSampleSw_AF_Broadcast(CLUSTER_BROADCAST,
10, "Broadcast");
osal_start_timerEx(zclSampleSw_TaskID,
SAMPLEAPP_BROADCAST_EVT,
SAMPLEAPP_BROADCAST_PERIOD);
return ( events ^ SAMPLEAPP_BROADCAST_EVT );
}
接收端数据回调:
if ( events & SYS_EVENT_MSG )
{
while ( (MSGpkt = (afIncomingMSGPacket_t *)osal_msg_receive( zclSampleSw_TaskID )) )
{
switch ( MSGpkt->hdr.event )
{
case AF_INCOMING_MSG_CMD:
printf("AF_INCOMING_MSG_CMD\n");
zclSampleSw_AF_RxProc(MSGpkt);
break;
default:
break;
}
// Release the memory
osal_msg_deallocate( (uint8 *)MSGpkt );
}
// return unprocessed events
return (events ^ SYS_EVENT_MSG);
}
求大佬帮忙看看,谢谢