cs8900.h

来自「cs8900 c51应用」· C头文件 代码 · 共 54 行

H
54
字号
/*
* CS8900A driver, (c) Alexey Selischev, 03/2003
*/

#ifndef INCLUDE_CS8900_H
#define INCLUDE_CS8900_H


#include <inet/datatypes.h>
#include <inet/ethernet.h>

/* This is the address table for CS8900 I/O regesters.
* They all have 0xF000 offset because of circuit diagram 
* (74HC139 used as address decoder)
*/

#define 	RxTxData		0xF000		// Receive/Transmit data (port 0)
#define 	RxTxDatap1		0xF001		// Receive/Transmit data (port 0)
#define 	RxTxData1		0xF002		// Receive/Transmit data (port 1)
#define 	TxCmd			0xF004		// Transmit Command
#define 	TxLength		0xF006		// Transmit Length
#define 	ISQ				0xF008		// Interrupt status queue
#define 	PPPtr			0xF00a		// PacketPage pointer
#define 	PPPtrp1			0xF00b		// PacketPage pointer
#define 	PPData			0xF00c		// PacketPage data (port 0)
#define 	PPDatap1		0xF00d		// PacketPage data (port 0)
#define 	PPData1			0xF00e		// PacketPage data (port 1)


void CSInit (UINT8* mac);
UINT8 CSCheckRxFrame (void); 
UINT8 CSReceiveFrame (void); 	//NETWORK_CHECK_IF_RECEIVED()
void CSSendFrame (UINT16 len); 	//NETWORK_COMPLETE_SEND(c)
void CSInitRx_position (UINT16 pos);//NETWORK_RECEIVE_INITIALIZE(c)
void CSInitTx_position (UINT16 pos);//NETWORK_SEND_INITIALIZE(c)
void CSDumpRxFrame (void); 		//NETWORK_RECEIVE_END()
void outBUF (UINT8 dat); 		//SEND_NETWORK_B(c)
UINT8 inBUF (void); 			//RECEIVE_NETWORK_B()
void CSWriteEthernetHeader (struct ethernet_frame* frame);//NETWORK_ADD_DATALINK(c)

/*
//Unused prototypes
void outCS(UINT16 address, UINT8 value);
UINT8 inCS (UINT16 address);
void CSCheckOverFlow (void);
void InitTransmission (UINT8 page);
void CSDMAInit (UINT8 page);
void CSEnterSleep (void);
void CSExitSleep (void);
*/

#endif

⌨️ 快捷键说明

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