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

📄 eth.h

📁 本程序是一个RS232转网口的。是一个透明传输的模块
💻 H
字号:
/*
*****************************************************************************************************
*
*  File name: eth.h
*****************************************************************************************************
*/
#ifdef   OS_GLOBALS
    #define  OS_EXT
#else
    #define  OS_EXT  extern
#endif


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

#define reg00   XBYTE[0x8100]   //reg00- 10为isa网卡接口的寄存器地址300-310;
#define reg01   XBYTE[0x8101]
#define reg02   XBYTE[0x8102]
#define reg03   XBYTE[0x8103]
#define reg04   XBYTE[0x8104]
#define reg05   XBYTE[0x8105]
#define reg06   XBYTE[0x8106]
#define reg07   XBYTE[0x8107]
#define reg08   XBYTE[0x8108]
#define reg09   XBYTE[0x8109]
#define reg0a   XBYTE[0x810a]
#define reg0b   XBYTE[0x810b]
#define reg0c   XBYTE[0x810c]
#define reg0d   XBYTE[0x810d]
#define reg0e   XBYTE[0x810e]
#define reg0f   XBYTE[0x810f]
#define reg10   XBYTE[0x8110]
#define reg18   XBYTE[0x8118]	//复位端口

/*#define reg00   *((unsigned char volatile xdata *) 0x8100)   //reg00- 10为isa网卡接口的寄存器地址300-310;
#define reg01   *((unsigned char volatile xdata *) 0x8101)
#define reg02   *((unsigned char volatile xdata *) 0x8102)
#define reg03   *((unsigned char volatile xdata *) 0x8103)
#define reg04   *((unsigned char volatile xdata *) 0x8104)
#define reg05   *((unsigned char volatile xdata *) 0x8105)
#define reg06   *((unsigned char volatile xdata *) 0x8106)
#define reg07   *((unsigned char volatile xdata *) 0x8107)
#define reg08   *((unsigned char volatile xdata *) 0x8108)
#define reg09   *((unsigned char volatile xdata *) 0x8109)
#define reg0a   *((unsigned char volatile xdata *) 0x810a)
#define reg0b   *((unsigned char volatile xdata *) 0x810b)
#define reg0c   *((unsigned char volatile xdata *) 0x810c)
#define reg0d   *((unsigned char volatile xdata *) 0x810d)
#define reg0e   *((unsigned char volatile xdata *) 0x810e)
#define reg0f   *((unsigned char volatile xdata *) 0x810f)
#define reg10   *((unsigned char volatile xdata *) 0x8110)
#define reg18   *((unsigned char volatile xdata *) 0x8118)	//复位端口*/




//以太网协议
#define ARP_PROTOCOL      0x0806
#define REVARP_PROTOCOL   0x8035
#define IP_PROTOCOL       0x0800
#define SNMP_PROTOCOL     0x814c
#define PPP_PROTOCOL      0xc021





#define FALSE		0
#define TRUE		1

#define MCU_RECV_RAM		5000		//5000个字节环形缓冲区用于存放收到的包



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

extern xdata union Ethernet_address my_ethernet_address;
extern xdata union IP_address my_ip_address;				   //本机的ip地址
extern xdata union netcard rxdnet;
extern xdata union netcard txdnet;

extern xdata union IP_address gateway_ip_address;
extern xdata union IP_address temp_ip_address;				   //用于存放临时IP地址
extern xdata union IP_address mask_ip_address;
extern unsigned int frameindex;								   //IP包的序列号
/*
*****************************************************************************************************
*
*  
*****************************************************************************************************
*/

unsigned int checksum(unsigned int xdata *check,unsigned int length);
void page(unsigned char pagenumber);//ne2000页选择


void Rtl8019Init(void);//ne2000网卡初始化
void send_packet(union netcard xdata*txdnet,unsigned int length);//ne2000发包子程序
unsigned char recv_packet(union netcard xdata *rxdnet);//ne2000收包子程序


bit Query8019(void);
void MainCycle(void);//主循环
unsigned int createipheadcrc(union netcard xdata *pTxdnet);
bit verifyipheadcrc(union netcard xdata *pRxdnet);


⌨️ 快捷键说明

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