📄 nic.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 + -