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

📄 ethernet.h

📁 C51 TCP-IP 网口相关资料 网口相关资料
💻 H
字号:
#ifndef BYTE
#define BYTE unsigned char
#endif

#ifndef WORD
#define WORD unsigned int
#endif

#ifndef LWORD
#define LWORD  unsigned long
#endif

#define MACLEN        6					// Ehternet (MAC) address length
#define CRCLEN        4					// Ethernet Hardware CRC length


// Ethernet hardware Receive frame length includs  trailing  CRC
#define	MAXFRAMEC    1518			//maxinum frame size (incl. CRC)
#define MINFRAMEC	 64				//mininum frame size (incl. CRC)

// Higher_level Drivers exclude the CRC from the FRAME Length 
#define MAXFRAME	 1514			//maxinum frame size (excl. CRC)
#define MINFRAME	 60				//mininum frame size (excl. CRC)

typedef struct {
				BYTE  dest[MACLEN];			//destination MAC Address
				BYTE  srce[MACLEN];			//source      MAC Address 
				WORD  ptype;				// Protocol type
				}ETHERHDR;

/* Ethernet (DIX)  frame ;data size is frame size minus header & CRC */
#define ETHERMTU   (MAXFRAME-sizeof(ETHERHDR))

typedef struct {
				ETHERHDR   e;					/*  header  */
				BYTE       edata[ETHERMTU];		/*  edata   */
				LWORD      crc;					/*  CRC    */
				}ETHERFRAME;


#define min(a,b)  (a)<(b) ? a :b
#define max(a,b)  (a)>(b) ? a :b
void resetnic(void);
WORD get_ethernet(void *efp);
WORD put_ethernet(void *efp,WORD len);
void delay_ms(int number);
void delay_100ms(int number);
int make_frame(ETHERFRAME *efp, BYTE srce[],BYTE dest[], WORD pcol, WORD dlen);
WORD csum(void *dp, WORD count);

⌨️ 快捷键说明

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