⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 z_user_data.c

📁 ZIGBEE 2006协议栈 BAT测试代码 RADIO PULSE MG2455
💻 C
字号:


#include "INCLUDE_TOP.h"
#include "C_MAC/INCLUDE_MAC.h"
#include "C_NWK/INCLUDE_NWK.h"
#include "C_APS/INCLUDE_APS.h"
#include "C_Builder/ZZDO_CONF.h"
#include "Z_USER_DATA_CONF.h"


	//----------------------------------------------------------------------------
	// Memory for APS Layer
	//----------------------------------------------------------------------------
	//----------------------------------------------------------------------------	
	#if (USER_SIZE_APS_AM)
		AS_ADDR_MAP	MEMORY_AM[USER_SIZE_APS_AM];
	#endif

	#if (USER_SIZE_APS_BT)	
		#define	USER_SIZE_APS_BT_DST	4
		AS_BIND_TABLE	MEMORY_BT[USER_SIZE_APS_BT];
		AS_BIND_Dst		MEMORY_BT_DST[USER_SIZE_APS_BT][USER_SIZE_APS_BT_DST];	
	#endif

	#if (USER_SIZE_APS_GT)		
		#define	USER_SIZE_APS_GT_EP	4
		AS_GROUP_TABLE	MEMORY_GT[USER_SIZE_APS_GT];
		UINT8			MEMORY_GT_EP[USER_SIZE_APS_GT][USER_SIZE_APS_GT_EP];
	#endif
	//----------------------------------------------------------------------------


	//----------------------------------------------------------------------------
	// Memory for NWK Layer
	//----------------------------------------------------------------------------
	//----------------------------------------------------------------------------
	#if (USER_SIZE_NWK_NT)	
		NS_NT		MEMORY_NT[USER_SIZE_NWK_NT];
	#endif

	#if (USER_SIZE_NWK_RT)	
		NS_RT		MEMORY_RT[USER_SIZE_NWK_RT];
	#endif

	#if (USER_SIZE_NWK_GID)	
		NS_GID		MEMORY_GID[USER_SIZE_NWK_GID];
	#endif

	#if (USER_SIZE_NWK_RDT)	
		NS_RDT		MEMORY_RDT[USER_SIZE_NWK_RDT];
	#endif

	#if (USER_SIZE_NWK_BTT)	
		NS_BTT		MEMORY_BTT[USER_SIZE_NWK_BTT];	
	#endif
	//----------------------------------------------------------------------------


	//----------------------------------------------------------------------------
	// Memory for MAC Layer
	//----------------------------------------------------------------------------
	//----------------------------------------------------------------------------
	#if (USER_SIZE_MAC_ZIGBEE_NET)	
		S_ZIGBEE_NET	MEMORY_ZIGBEE_NET[USER_SIZE_MAC_ZIGBEE_NET];
	#endif
	//----------------------------------------------------------------------------


	#define	USER_SIZE_REUSE_ADDR_ZR		8
	#if (USER_SIZE_REUSE_ADDR_ZR)
		UINT16			MEMORY_REUSE_ADDR_ZR[USER_SIZE_REUSE_ADDR_ZR];
	#endif
	
	#define	USER_SIZE_REUSE_ADDR_ZED	4
	#if (USER_SIZE_REUSE_ADDR_ZED)
		UINT16			MEMORY_REUSE_ADDR_ZED[USER_SIZE_REUSE_ADDR_ZED];
	#endif

void ZUSER_ALLOCATE_MEMORY()
{
	UINT8	i;

	//---------------------------------------------------------------
	// Pointer to APS Memory
	//---------------------------------------------------------------
	#if (USER_SIZE_APS_AM)
		// Initialize Address Map(AM)
		AIB.papsAddrMap = MEMORY_AM;
		APA.SIZE_AM = USER_SIZE_APS_AM;
		for(i=0 ; i<USER_SIZE_APS_AM ; i++)	AIB.papsAddrMap[i].EnaAM = 0;
	#endif

	#if (USER_SIZE_APS_BT)
		// Initialize Binding Table(BT)
		AIB.papsBindTable = MEMORY_BT;
		APA.SIZE_BT = USER_SIZE_APS_BT;
		APA.SIZE_BT_DST = USER_SIZE_APS_BT_DST;
		for(i=0 ; i<USER_SIZE_APS_BT ; i++)
		{
			AIB.papsBindTable[i].EnaBT = 0;
			AIB.papsBindTable[i].Dst_Count = 0;
			AIB.papsBindTable[i].pDst = &(MEMORY_BT_DST[i][0]);
		}
	#endif

	#if (	USER_SIZE_APS_GT)
		// Initialize Group Table(GT)
		AIB.papsGroupTable = MEMORY_GT;
		APA.SIZE_GT = USER_SIZE_APS_GT;
		APA.SIZE_GT_EP = USER_SIZE_APS_GT_EP;
		for(i=0 ; i<USER_SIZE_APS_GT ; i++)
		{
			AIB.papsGroupTable[i].EnaGT = 0;
			AIB.papsGroupTable[i].EP_Count = 0;
			AIB.papsGroupTable[i].pEP = &(MEMORY_GT_EP[i][0]);
		}
	#endif

	//---------------------------------------------------------------
	// Pointer to NWK Memory
	//---------------------------------------------------------------	

	#if (USER_SIZE_NWK_NT)	
		// Initialize Neighbor Table(NT)
		NPA.pnwkNT = MEMORY_NT;
		NPA.SIZE_NT = USER_SIZE_NWK_NT;
		for(i=0 ; i<USER_SIZE_NWK_NT ; i++)	NPA.pnwkNT[i].EnaNT = 0;
	#endif

	#if (USER_SIZE_NWK_RT)
		// Initialize Routing Table(RT)
		NPA.pnwkRT = MEMORY_RT;
		NPA.SIZE_RT = USER_SIZE_NWK_RT;
		for(i=0 ; i<USER_SIZE_NWK_RT ; i++)	NPA.pnwkRT[i].EnaRT = 0;	
	#endif

	#if (USER_SIZE_NWK_GID)	
		// Initialize GroupID Table(GID)
		NPA.pnwkGID = MEMORY_GID;
		NPA.SIZE_GID = USER_SIZE_NWK_GID;
		for(i=0 ; i<USER_SIZE_NWK_GID ; i++)	NPA.pnwkGID[i].EnaGID = 0;
	#endif

	#if (USER_SIZE_NWK_RDT)	
		// Initialize Routing Discovery Table(RDT)
		NPA.pRDT = MEMORY_RDT;
		ZNWK_SET_SIZE_RDT(USER_SIZE_NWK_RDT);
		for(i=0 ; i<USER_SIZE_NWK_RDT ; i++)	ZNWK_SET_RDT_EXPTIME(i, 0);
	#endif

	#if (USER_SIZE_NWK_BTT)	
		// Initialize Broadcast Table(BTT)	
		NPA.pBTT = MEMORY_BTT;
		ZNWK_SET_SIZE_BTT(USER_SIZE_NWK_BTT);
		for(i=0 ; i<USER_SIZE_NWK_BTT ; i++)	ZNWK_SET_BTT_EXPTIME(i, 0);
	#endif

	#if (USER_SIzE_NWK_ANT)
		// Initialize Additional Neighbor Table
		NPA.pANT = 
	#endif

	#if (USER_SIZE_NWK_SRT)
		// Initialize Source Routing Table
		NPA.pSRT = 
	#endif

	//---------------------------------------------------------------
	// Pointer to MAC Memory
	//---------------------------------------------------------------	

	#if (USER_SIZE_MAC_ZIGBEE_NET)		
		// Initialize Network Descriptor for NWK and MAC
		pZIGBEE_NET = MEMORY_ZIGBEE_NET;
		SIZE_ZIGBEE_NET = USER_SIZE_MAC_ZIGBEE_NET;
		for(i=0 ; i<USER_SIZE_MAC_ZIGBEE_NET ; i++)	pZIGBEE_NET[i].EnaZN = 0;
	#endif

	#if (USER_SIZE_REUSE_ADDR_ZR)
		NPA.pReuseZRAddr = MEMORY_REUSE_ADDR_ZR;
		NPA.SIZE_ReuseZRAddr = USER_SIZE_REUSE_ADDR_ZR;
		for(i=0 ; i<USER_SIZE_REUSE_ADDR_ZR ; i++)	NPA.pReuseZRAddr[i] = 0;
	#endif

	#if (USER_SIZE_REUSE_ADDR_ZED)
		NPA.pReuseZEDAddr = MEMORY_REUSE_ADDR_ZED;
		NPA.SIZE_ReuseZEDAddr = USER_SIZE_REUSE_ADDR_ZED;
		for(i=0 ; i<USER_SIZE_REUSE_ADDR_ZED ; i++)	NPA.pReuseZEDAddr[i] = 0;
	#endif	
	
}
	
	

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -