1625-5 王子昂 总结《2017年8月7日》 【连续第309天总结】
A. ZigBee协议栈广播组网
B.
发送
void SampleApp_SendPeriodicMessage(void)//自定义消息发送函数
{
uint8 data[5]="test";
if(AF_DataRequest(
&SampleApp_Periodic_DstAddr,
&SampleApp_epDesc,
SAMPLEAPP_PERIODIC_CLUSTERID,//簇ID
10,//数据长度
data,//数据缓冲区
&SampleApp_TransID,
AF_DISCV_ROUTE,
AF_DEFALUT_RADIUS
)==afStatus_SUCCESS)
{
}
else
{
//error
}
}
设备调用函数为
SampleApp_ProcessEven
{
case ZDO_STATE_CHANGE://设备网络发生改变时的标识,因此仅在初始化时调用
SampleApp_NwkState=(devSt ates_t)(MSGpkt->hdr.status);
if(//(SampleApp_NwkState==DEV_ZB_COORD)||
//协议器不用发送所以屏蔽
(SampleApp_NwkState==DEV_ROUTER||
SampleApp_NwkState==DEV_END_DEVICE)
{
osal_start_timerEx(
SampleApp_TaskID,//任务ID
SAMPLEAPP_SEND_PERIODIC_MSG_EVT,//事件编号
SAMPLEAPP_SEND_PERIODIC_MSG_TIMEOUT);//事件执行的间隔
}
if(events&SAMPLE_SEND_PERIODIC_MSG_EVT)
{
SampleApp_SendPeriodicMessage();//自定义的发送函数
osal_start_timerEx( SampleA pp_TaskID, SAMPLEAPP_ SEND_PERIODIC_MSG_EVT,(SAMPLEAPP_SEND_PERIODIC_MSG_TIMEOUT + (osal_rand() & 0x00FF)) );
return (events ^ SAMPLEAPP_ SEND_PERIODIC_MSG_EVT );
}
}
C. 明日计划
ZigBee组播组网