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

📄 nic.h

📁 一款居于世纪民生CS6208的带TCP-IP网络功能的8位MCU内核的芯片的应用代码。
💻 H
字号:

// IMR bit definition
#define IMR_RcvOKEn 	     0x01
#define IMR_XmtOkEn	         0x02
#define IMR_RcvErrorEn	     0x04
#define IMR_XmtErrorEn	     0x08
#define IMR_RcvBufOverFlowEn 0x10

// RCR bit definition
// Accept RUNT Packet
#define RCR_AR 	0x02
// accept broadcast address
#define RCR_AB 	0x04
// Accept multicast address
#define RCR_AM 	0x08
// Accept physical address
#define RCR_AP 	0x10

// ISR bit definition
#define ISR_RcvOK 	     0x01
#define ISR_XmtOk	     0x02
#define ISR_RcvError	     0x04
#define ISR_XmtError	     0x08
#define ISR_RcvBufOverFlow   0x10
#define ISR_Reset            0x80

// CR bit definition
#define CR_Stop   0x01
#define CR_Start  0x02
#define CR_Xmit   0x04
#define CR_Page0  0x00
#define CR_Page1  0x40

#define UDP_PORT_H  0x27
#define UDP_PORT_L  0x10
#define UDP_LENGTH  180 //command + data

#define RPSTART   0x80
#define RPSTOP    0xAF
unsigned char xdata NIC_BUFFER[12288] _at_ 0x8000;
#define TPSTART   0xB0
unsigned char xdata NIC_XMIT_BUFFER[1536] _at_ 0xB000;
//unsigned char xdata NIC_XMIT_RING[1600];
unsigned char xdata NIC_RECV_BUFFER[1600];
unsigned char xdata CRC[34];
unsigned long xdata CRC_SUM;
unsigned char idata __wcommand=0;
unsigned char idata NextPacket;
unsigned char idata __wisr;//mac int status
unsigned char idata __wcurr;//nic receive next packet point

//unsigned char __wxmitcurr;//fill xmit next packet point
//unsigned char __wxmitbnry;//xmit next packet point
//#define XMIT_START  0
//#define XMIT_STOP   19// 1600/80 - 1
//#define XMIT_NUMBER   80


unsigned char idata MACADDRESS[6];
unsigned char idata IPADDRESS[4];
unsigned char idata PC_MACADDRESS[6];
unsigned char idata PC_IPADDRESS[4];
bit  __bIPCOL = 0;

void Init_NIC();
void Deal_Packet();
void CHECKSUM_UDP();
void UDP(unsigned char command);
void ARPREQ();
bit  CHECK_XMIT();

//receive command from PC
#define   R_READMETER      1
#define   R_ALARM_ACK      7
#define   R_HELLO          8
#define   R_CANCEL_ACK    18
#define   R_CONTROL       19
#define   R_MODIFY1       34
#define   R_MODIFY2       35
#define   R_MODIFY3       36
#define   R_MODIFY4       37
#define   R_MODIFY5       38
#define   R_MODIFY6       39
#define   R_MODIFY7       40
#define   R_MODIFY8       41
#define   R_W_METER_NUM   45
#define   R_R_METER_NUM   46
#define   R_W_METER       50
#define   R_R_METER       52
#define   R_ARMED         80
#define   R_TIME          88
#define   R_CODE          89
#define   R_INIT          96
#define   R_MODIFYMAC     97
#define   R_MODIFYIP      98
#define   R_MODIFYIPMAC   99
#define   R_MESSAGE       108
          #define MESSAGE_SMS            1
		  #define MESSAGE_WEATHER        2
		  #define MESSAGE_STOCK          3
		  #define MESSAGE_NEWS           4
		  #define MESSAGE_ADMINISTRATION 5
#define   R_BROARDCAST 0xFF
//data address from pc 46
#define   PC_PING     38
#define   PC_SENCITY  46
#define   PC_COMMAND  53

⌨️ 快捷键说明

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