📄 rtl8019as.h
字号:
#ifndef _RTL8019AS_H_
#define _RTL8019AS_H_
#include "MyType.h"
#include "NetProtocol.h"
/*
union Frame8019 {
struct {
unsigned char Status; // 接收状态
unsigned char NextPage; // 下一个页
unsigned short Length; // 以太帧长度(字节数)
unsigned short DestDodeId[3]; // 目的网卡地址
unsigned short SourceNodeId[3]; // 源网卡地址
unsigned short Protocal; // 下一层协议
unsigned char Packet[1500]; // 包的内容
} EtherFrame;
struct {
unsigned char ByteBuf[1518];
} Bytes;
};
*/
#define P_CR 0x00 // Command Register (Type=R/W)
#define P_DMA_PORT 0x10 // Remote DMA Port (Type=R/W)
#define P_RESET 0x1f // Reset Port (Type = W)
#define P0_RBCR0 0x0a // Remote Byte Count Registers (Type=W)
#define P0_RBCR1 0x0b // Remote Byte Count Registers (Type=W)
#define P0_RCR 0x0c // Receive Configuration Register (Type=W)
#define P0_TCR 0x0d // Transmit Configuration Register (Type=W)
#define P0_PSTART 0x01 // Page Start Register (Type=W)
#define P0_PSTOP 0x02 // Page Stop Register (Type=W)
#define P0_BNRY 0x03 // Boundary Register (Type=R/W)
#define P0_TPSR 0x04 // Transmit Page Start Register (Type=W)
#define P0_ISR 0x07 // Interrupt Status Register (Type=R/W)
#define P0_IMR 0x0f // Interrupt Mask Register (Type=W)
#define P0_DCR 0x0e // Data Configuration Register (Type=W)
#define P0_RSAR1 0x09 // Remote Start Address Register (Type=W)
#define P0_RSAR0 0x08 // Remote Start Address Register (Type=W)
#define P0_RBCR1 0x0b // Remote Byte Count Register (Type=W)
#define P0_RBCR0 0x0a // Remote Byte Count Register (Type=W)
#define P0_TSR 0x04 // Transmit Status Register (Type=R)
#define P0_TBCR1 0x06 // Transmit Byte Count Register (Type=W)
#define P0_TBCR0 0x05 // Transmit Byte Count Register (Type=W)
#define P1_CURR 0x07 // Current Page Register (Type=R/W)
#define P1_MAR0 0x08 // Multicast Address Register (Type=R/W)
#define P1_MAR1 0x09 // Multicast Address Register (Type=R/W)
#define P1_MAR2 0x0a // Multicast Address Register (Type=R/W)
#define P1_MAR3 0x0b // Multicast Address Register (Type=R/W)
#define P1_MAR4 0x0c // Multicast Address Register (Type=R/W)
#define P1_MAR5 0x0d // Multicast Address Register (Type=R/W)
#define P1_MAR6 0x0e // Multicast Address Register (Type=R/W)
#define P1_MAR7 0x0f // Multicast Address Register (Type=R/W)
#define P1_PAR0 0x01 // Physical Address Register (Type=R/W)
#define P1_PAR1 0x02 // Physical Address Register (Type=R/W)
#define P1_PAR2 0x03 // Physical Address Register (Type=R/W)
#define P1_PAR3 0x04 // Physical Address Register (Type=R/W)
#define P1_PAR4 0x05 // Physical Address Register (Type=R/W)
#define P1_PAR5 0x06 // Physical Address Register (Type=R/W)
void InitRTL8019AS();
//void RTL8019AS_SndPacket(Frame8019 *Packet, short Length);
#define IN_B(offset) *(unsigned char *)(0x6060000+(unsigned char *)(offset<<1))
#define OUT_B(offset,val) *(unsigned char *)(0x6060000+(unsigned char *)(offset<<1))=(unsigned char)val
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -