原文:https://blog.csdn.net/uyy203/article/details/51175759
信道選擇
打開f8wconfig.cfg
選擇信道
-DDEFAULT_CHANLIST=0x02000000快毛;
網(wǎng)絡(luò)號設(shè)定:
打開f8wconfig.cfg
-DZDAPP_CONFIG_PAN_ID=0x32
設(shè)備描述設(shè)定:
打開GenericApp.h 修以下內(nèi)容
#define GENERICAPP_ENDPOINT 10
#define GENERICAPP_PROFID 0x0F04
#define GENERICAPP_DEVICEID 0x0001
#define GENERICAPP_DEVICE_VERSION 0
#define GENERICAPP_FLAGS 0
#define GENERICAPP_MAX_CLUSTERS 1
#define GENERICAPP_CLUSTERID 1
協(xié)調(diào)器:
1.復(fù)制TI環(huán)境下GenericApp 工程文件,更名為xyzApp
2.以GenericApp.c、以GenericApp.h 為藍(lán)本饿悬,復(fù)制出 Coordinator.c轿曙、Coordinator.h累魔、Enddevice.c蕴纳、Enddevice.h 的協(xié)調(diào)器屎飘、終端文件主和頭文件
3.對Coordinator.c進(jìn)行修改GenericApp.h 為Coordinator.h
4.修改設(shè)備描述符
const SimpleDescriptionFormat_tGenericApp_SimpleDesc =
{
GENERICAPP_ENDPOINT, // int Endpoint;
GENERICAPP_PROFID, // uint16 AppProfId[2];
GENERICAPP_DEVICEID, // uint16 AppDeviceId[2];
GENERICAPP_DEVICE_VERSION, // int AppDevVer:4;
GENERICAPP_FLAGS, // int AppFlags:4;
GENERICAPP_MAX_CLUSTERS, // byte AppNumInClusters;
(cId_t*)GenericApp_ClusterList, // byte *pAppInClusterList;
0, // byte AppNumInClusters;
(cId_t*)NULL // byte *pAppInClusterList;
};
5.voidGenericApp_MessageMSGCB( afIncomingMSGPacket_t *pkt )
case GENERICAPP_CLUSTERID:
下加入
osal_memcpy(buffer,pkt->cmd.Data,pkt->cmd.DataLength);
if(osal_memcmp(buffer,"LED32",5))
{
HalLedBlink(HAL_LED_2,0,50,500);
}
else
{
HalLedSet(HAL_LED_2,HAL_LED_MODE_ON);
}
判斷接收到的字符是不是LED32妥曲,是則讓LED2閃爍,不是則讓LED2常亮
終端:
1.將Enddevice.c中的
include”GenericApp.h”改成 “Enddevice.h“
- 在 中UINT16GenericApp_ProcessEvent( byte task_id, UINT16 events )的
case ZDO_STATE_CHANGE:下加入
GenericApp_NwkState = (devStates_t)(MSGpkt->hdr.status);
if(GenericApp_NwkState == DEV_END_DEVICE)
{
GenericApp_SendTheMessage( );
}
break;
3.在void GenericApp_SendTheMessage( void )中加入
char theMessageData[] = "LED32";
afAddrType_tmy_DstAddr;
my_DstAddr.addrMode=(afAddrMode_t)Addr16Bit; //單播
my_DstAddr.endPoint=GENERICAPP_ENDPOINT;//初始化端口號
my_DstAddr.addr.shortAddr=0x0;//接收方短地址
if (AF_DataRequest( &my_DstAddr, &GenericApp_epDesc,
GENERICAPP_CLUSTERID,
(byte)osal_strlen(theMessageData ) + 1,
(byte*)&theMessageData,
&GenericApp_TransID,
AF_DISCV_ROUTE,AF_DEFAULT_RADIUS ) == afStatus_SUCCESS )
{
//Successfully requested to be sent.
HalLedBlink(HAL_LED_2,0,50,500);
}
4.燒寫