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

📄 8019.h

📁 51单片机控制网卡实现上网程序代码
💻 H
字号:
/**************************************************************/
#ifndef _8019_H
#define _8019_H
/**************************************************************/

#include "ylystd.h"

// ********************************************************
// *** Define Network Interface Controller Registers    ***
// ***              (RTL8019AS)
// ********************************************************

// NIC Page 0 read register assignments

#define CR      0x00                        // Command Register
#define CLDA0   0x01                        // Current Local DMA Address 0
#define CLDA1   0x02                        // Current Local DMA Address 1
#define BNRY    0x03                        // Boundary Pointer
#define BNDRY   0x03
#define TSR     0x04                        // Transmit Status Register
#define NCR     0x05                        // Number of Collisions Register
#define FIFO    0x06                        // FIFO
#define ISR     0x07                        // Interupt Status Register
#define CRDA0   0x08                        // Current Remote DMA Address 0
#define CRDA1   0x09                        // Current Remote DMA Address 1
#define RES1    0x0A                        // Reserved to NE2000
#define RES2    0x0B                        // Reserved to NE2000
#define RT8019ID0   0x0A                    // ID0 to RTL8019AS
#define RT8019ID1   0x0B                    // ID1 to RTL8019AS
#define RSR     0x0C                        // Receive Status Register
#define CNTR0   0x0D                        // Tally Counter 0 (Frame Alignment Errors)
#define CNTR1   0x0E                        // Tally Counter 1 (CRC Errors)
#define CNTR2   0x0F                        // Tally Counter 2 (Missed Packet Errors)
#define RMTDMA  0x10                        // Remote DMA Port
#define RSTPORT 0x18                        // Reset Port

// NIC Page 0 write register assignments

#define PSTART  0x01                        // Page Start Register
#define PSTOP   0x02                        // Page Stop Register
#define TPSR    0x04                        // Transmit Page Start Address
#define TBCR0   0x05                        // Transmit Byte Count Register 0
#define TBCR1   0x06                        // Transmit Byte Count Register 1
#define RSAR0   0x08                        // Remote Start Address Register 0
#define RSAR1   0x09                        // Remote Start Address Register 1
#define RBCR0   0x0A                        // Remote Byte Count Register 0
#define RBCR1   0x0B                        // Remote Byte Count Register 1
#define RCR     0x0C                        // Receive Configuration Register
#define TCR     0x0D                        // Transmit Configuration Register
#define DCR     0x0E                        // Data Configuration Register
#define IMR     0x0F                        // Interrupt Mask Register

// NIC Page 1 register assignments

#define PAR0    0x01                        // Physical Address Register 0
#define PAR1    0x02                        // Physical Address Register 1
#define PAR2    0x03                        // Physical Address Register 2
#define PAR3    0x04                        // Physical Address Register 3
#define PAR4    0x05                        // Physical Address Register 4
#define PAR5    0x06                        // Physical Address Register 5
#define CURR    0x07                        // Current Page Register
#define MAR0    0x08                        // Multicast Address Register 0
#define MAR1    0x09                        // Multicast Address Register 1
#define MAR2    0x0A                        // Multicast Address Register 2
#define MAR3    0x0B                        // Multicast Address Register 3
#define MAR4    0x0C                        // Multicast Address Register 4
#define MAR5    0x0D                        // Multicast Address Register 5
#define MAR6    0x0E                        // Multicast Address Register 6
#define MAR7    0x0F                        // Multicast Address Register 7

// NIC Page 2 register READ ONLY --> Page 0 WRITE

// NIC Page 3 read register assignments

#define RT9346CR   0x01                        // 9346 Command Register
#define BPAGE      0x02                        // BROM Page Register
#define CONFIG0    0x03                        // RTL8019 Configuration Register 0
#define CONFIG1    0x04                        // RTL8019 Configuration Register 1
#define CONFIG2    0x05                        // RTL8019 Configuration Register 2
#define CONFIG3    0x06                        // RTL8019 Configuration Register 3
#define CSNSAV     0x08                        // CSN Save Register
#define INTR       0x0b                        // Interrupt Register

// NIC Page 3 write register assignments

#define HLTCLK     0x09                        // Halt Clock Register

// NIC Other registers

#define NIC_DATA    0x10                    // Data Register for I/O port mode
#define NIC_RESET   0x18                    // Reset Register

// NIC Other Defines

// NIC Bits Defines

/**************************************************************/
u8_t Get8019Version(u16_t);
void ResetCSN(void);
u8_t ResetCard(void);

/**************************************************************/
#endif /* define _8019_H */
/**************************************************************/

⌨️ 快捷键说明

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