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

📄 data.h

📁 Zigbee模块的详细电路原理图和C代码.rar
💻 H
字号:
/*******************************************************************************

       UBEC (Uniband Electronic Corp.)

       Project: U-NET01, Ubiquitous network platform

       File: data.h

       Version: 0.1.1

       Usage: Define unet information base (UIB)

       Platform: U-NET01 DK with IAR 8051 C compiler

       Reference:

               Silicon Laboratories: C8051F124

               UBEC: UZ2400

       Note :

               Copyright (C) 2007 Uniband Electronic Corporation, All rights reserved

********************************************************************************/

// Interrupt Structure
struct _interrupt_flag_{
    UINT8 TxN    : 1;
    UINT8 TxG1   : 1;
    UINT8 TxG2   : 1;
    UINT8 Rx     : 1;
    UINT8 Sec    : 1;
    UINT8 Timer  : 1;
    UINT8 Wakeup : 1;
    UINT8 Sleep  : 1;
}__attribute__ ((packed));
typedef struct _interrupt_flag_		INTERRUPT_STS;

struct _unet_system_flag_{
	UINT16 JoinNetwork:1;
	UINT16 RecvAssoRsp:1;
	UINT16 AssoSuccess:1;
	UINT16 PanCoordinator:1;
	UINT16 Router:1;
	UINT16 Endev:1;
	UINT16 FindNetwork:1;
	UINT16 ChildFull:1;
	UINT16 GP0:1; // For general purpose 
	UINT16 Rvd0:7;
}__attribute__ ((packed));
typedef struct _unet_system_flag_	UNET_SF;

struct _beacon_list_{
	struct _beacon_list_ *Next;
	UINT16 PID; // Coordinator pan id
	UINT16 Addr; // Coordinator address
	UINT16 Channel; 
	UINT16 SfSpec; // Super frame spec
	UINT8 LinkQuality;
	UINT8 DevDep; // Device depth
}__attribute__ ((packed));
typedef struct _beacon_list_	BEACON_LIST;

struct _child_list_{
	struct _child_list_ *Next;
	UINT8 MacAddr[8]; // MAC address
	UINT16 NetworkAddress;	
	//union _capability_information_field_ Cap; // Capability information
	UINT8 Cap;
	BOOL Available;
}__attribute__ ((packed));
typedef struct _child_list_		CHILD_LIST;

struct _broadcast_list_{
	struct _broadcast_list_ *Next;
	UINT16 Address;
	UINT8 Sequence;
}__attribute__ ((packed));
typedef struct _broadcast_list_		BROAD_LIST;

struct _data_list_{
	struct _data_list_ *Next;
	UINT8 Length;
	UINT8 *Msg;
	UINT16 SrcAddr;
}__attribute__ ((packed));
typedef struct _data_list_		DATA_LIST;

typedef struct _unet_system_parameters_{
	// Unet
	UINT16 JoinPID; //Join pan id
	UINT8 Channel; // Join channel
	UINT16 JoinParent; // Join parent address
	UINT16 OrigParent; // Original parent	
	UINT16 NwkAddr; // Network address (short address)
	UINT8 DevDep; // Device network depth	
	UINT8 MacBSN; // Mac beacon sequence number 
	UINT8 MacDSN; // Mac packet (Data or Command) sequence number
	
	UINT8 JoinRouterCnt; // Join router count
	UINT8 JoinEndevCnt; // Join end device count
	UINT16 NextAddr; // Next available short address
	UINT16 AddrInc; // Address increment
	// System
	INTERRUPT_STS IntFlag; // Interrupt Flag
	UNET_SF Flag; // Unet flag
	MAC_BP BcnPayload; // Mac beacon payload
	struct _beacon_list_ *BcnHead; // Received beacon linking list
	struct _beacon_list_  *BcnTail; // The tail of beacon list
	struct _child_list_ *ChildHead; // Join child list
	struct _child_list_ *ChildTail; // The tail of child list
	UINT8 DataCnt; //Incoming data count
	struct _data_list_ *DataHead; // Incoming data list
	struct _data_list_ *DataTail; // The tail of received data list
	struct _broadcast_list_ *BroHead; // The record list of received broadcast 
	struct _broadcast_list_ *BroTail; // The tail of broadcast list
	UINT8 Coordinator;	//本节点是否是协调器
}UNET_SYS;


struct _addr_list_
{
	UINT8  ucAddrCont; // MAC address
	UINT16 MACAddress[UNET_MAX_CHILD+UNET_MAX_ROUTER];
	UINT16 LifeTime[UNET_MAX_CHILD+UNET_MAX_ROUTER];
	UINT8  Name[UNET_MAX_CHILD+UNET_MAX_ROUTER][8];
}__attribute__ ((packed));
typedef struct _addr_list_	ADDR_LIST;

union _mac_command_
{
	UINT16 val;
	struct
	{
		UINT16 RecvAddrListRsp:1;
		
	}cfm;
}__attribute__ ((packed));
typedef union _mac_command_		MAC_COMMAND;


⌨️ 快捷键说明

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