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

📄 global.h

📁 包括EPA协议栈
💻 H
字号:
#ifndef _GLOBAL_H
#define _GLOBAL_H

#include "ucos_ii.h"
#include "cfg.h"
#include "arch.h"

#define HEADER_LEN_ETHER (14)
#define HEADER_LEN_ARP (28)
#define HEADER_LEN_IP (20)
#define HEADER_LEN_UDP (8)
#define HEADER_LEN_EPA	(8)

#if FS_MODULE_EN > 0
	#define HEADER_LEN_FS (16)
#else
	#define HEADER_LEN_FS (0)
#endif	// SAFETY_MODULE_EN
#if NS_MODULE_EN > 0
	#define HEADER_LEN_NS (16)
#else
	#define HEADER_LEN_NS (0)
#endif	// SECURITY_MODULE_EN

#define EPA_PORT                    (0x88BC)

#define SYS_NO_ERR                  (0)
#define SYS_ILLEGAL_FRAME           (0xE0)
#define SYS_ILLEGAL_OUTSOCK         (0xE1)
#define SYS_NI_NOTVALID             (0xE2)
#define SYS_TIMER_OVERFLOW          (0xE6)

typedef unsigned long long          uint64;
typedef unsigned long               uint32;
typedef unsigned short              uint16;
typedef unsigned char               uint8;
typedef signed long long            int64;
typedef signed long                 int32;
typedef signed short                int16;
typedef signed char                 int8;
typedef float                       float32;
typedef double                      float64;
typedef unsigned char               boolean;
typedef unsigned char               Octet;             
typedef unsigned int                CpuSr;

typedef struct {
	uint32 secs;
	int32 nasecs;	
} Time, *PTime;

/*------------------------------------------------------------------------------*
 *- Function name: h2n16                                                       -*
 *- Parameter: src, source variable                                            -*
 *-            dst, destination array pointer                                  -*
 *- Return value: void                                                         -*
 *- Brief: Tran a 16-bit variable of host byte sequence to net byte sequence   -*
 *-        array                                                               -*
 *------------------------------------------------------------------------------*/
__inline void h2n16(uint16 src, uint8 dst[]) {
	dst[0] = (uint8)(src >> 8);
	dst[1] = (uint8)(src);
}

/*------------------------------------------------------------------------------*
 *- Function name: h2n32                                                       -*
 *- Parameter: src, source variable                                            -*
 *-            dst, destination array pointer                                  -*
 *- Return value: void                                                         -*
 *- Brief: Tran a 32-bit variable of host byte sequence to net byte sequence   -*
 *-        array                                                               -*
 *------------------------------------------------------------------------------*/
__inline void h2n32(uint32 src, uint8 dst[]) {
	dst[0] = (uint8)(src >> 24);
	dst[1] = (uint8)(src >> 16);
	dst[2] = (uint8)(src >> 8);
	dst[3] = (uint8)(src);
}

/*------------------------------------------------------------------------------*
 *- Function name: n2h16                                                       -*
 *- Parameter: src, source variable                                            -*
 *-            dst, destination array pointer                                  -*
 *- Return value: void                                                         -*
 *- Brief: Tran a net byte sequence array to 16-bit variable of host byte      -*
 *-        sequence                                                            -*
 *------------------------------------------------------------------------------*/
__inline void n2h16(uint8 src[], uint16* dst) {
	*dst = (uint16)src[0] << 8 | (uint8)src[1];
}

/*------------------------------------------------------------------------------*
 *- Function name: n2h32                                                       -*
 *- Parameter: src, source byte array                                          -*
 *-            dst, destination variable pointer                               -*
 *- Return value: void                                                         -*
 *- Brief: Tran a net byte sequence array to 32-bit variable of host byte      -*
 *-        sequence                                                            -*
 *------------------------------------------------------------------------------*/
__inline void n2h32(uint8 src[], uint32* dst) {
	*dst = (uint32)src[0] << 24 | (uint32)src[1] << 16 | (uint32)src[2] << 8 | (uint32)src[3];
}

#endif	// _GLOBAL_H

⌨️ 快捷键说明

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