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

📄 ethernet.h

📁 基于STR711的PRCCU程序
💻 H
字号:
#ifndef __ETHERNET_H__
#define __ETHERNET_H__

#include "71x_lib.h"

// Ports for I/O-Mode
#define ETH_Port(n) (*(vu16*)(0x64000000 | (n) << 11))

#define ETH_RX_Frame_Port	ETH_Port(0)
#define ETH_TX_Frame_Port	ETH_Port(0)
#define ETH_TX_CMD_Port		ETH_Port(4)
#define ETH_TX_LEN_Port		ETH_Port(6)
#define ETH_Addr_Port		ETH_Port(10)
#define ETH_Data_Port		ETH_Port(12)

// Configuration and control registers
#define PP_RxCFG		0x0102	// Rx Bus config
#define PP_RxCTL		0x0104	// Receive Control Register
#define PP_LineCTL		0x0112	// Line Config Register
#define PP_SelfCTL		0x0114	// Self Command Register

// Status and Event Registers
#define PP_RxEvent		0x0124	// Rx Event Register
#define PP_LineST		0x0134	// Line State Register
#define PP_SelfST		0x0136	// Self State register
#define PP_BusST		0x0138	// Bus Status

// Adress Filter Registers
#define PP_IA			0x0158	// Physical Address Register

// PP_RxCFG - Receive Configuration and Interrupt Mask bit definition - Read/write
#define SKIP_1				0x0040
#define RX_OK_ENBL			0x0100

// PP_RxCTL - Receive Control bit definition - Read/write
#define RX_OK_ACCEPT		0x0100
#define RX_IA_ACCEPT		0x0400
#define RX_BROADCAST_ACCEPT	0x0800

// PP_TxCMD - Transmit Command bit definition - Read-only and
// PP_TxCommand - Write-only
#define TX_START_ALL_BYTES	0x00C9

// PP_LineCTL - Line Control bit definition - Read/write
#define SERIAL_RX_ON		0x0040
#define SERIAL_TX_ON		0x0080

// PP_SelfCTL - Software Self Control bit definition - Read/write
#define POWER_ON_RESET		0x0040

// PP_RxEvent - Receive Event Bit definition - Read-only
#define RX_OK				0x0100
#define RX_IA				0x0400
#define RX_BROADCAST		0x0800

// PP_LineST - Ethernet Line Status bit definition - Read-only
#define LINK_OK				0x0080

// PP_SelfST - Chip Software Status bit definition
#define INIT_DONE			0x0080

// PP_BusST - ISA Bus Status bit definition
#define READY_FOR_TX_NOW	0x0100

extern u16 local_eth_addr[3];

void NIC_Init(void);
int NIC_RecvPack(u16 *buf);
int NIC_SendPack(u16 *buf, int len);

#endif

⌨️ 快捷键说明

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