在cc2530组件的网络中,协调器组建网络,终端接入网络,协调器的地址一般是0x0000,终端使用AF_DataRequest函数向协调器发送消息,协调器接收到了以后可以JAFApp_MessageMSGCB函数中进行数据的接收和处理。
1.协调器向终端发送消息(单播)
JAFApp_Periodic_DstAddr.addrMode = (afAddrMode_t)Addr16Bit;
JAFApp_Periodic_DstAddr.endPoint = JAFApp_ENDPOINT;
JAFApp_Periodic_DstAddr.addr.shortAddr = 0x0000;//协调器地址
char theMessgeData[] ="9"; //指定待发送的数据内容
AF_DataRequest( &JAFApp_Periodic_DstAddr, &JAFApp_epDesc,
JAFApp_PERIODIC_CLUSTERID,
1,//数据长度
(byte*) &theMessgeData,//待发送的数据内容
&JAFApp_TransID,
AF_DISCV_ROUTE,
AF_DEFAULT_RADIUS );
2.协调器接收消息
void JAFApp_MessageMSGCB( afIncomingMSGPacket_t *pkt )
{
uint16 flashTime;
///
switch ( pkt->clusterId )
{
case JAFApp_PERIODIC_CLUSTERID:
//触发一个让协调器板载LED状态闪烁的事件
if(pkt->cmd.Data[0]==9){
osal_start_timerEx( JAFApp_TaskID,
JAFApp_MY_LED_EVT,
25);
}
break;
}
}