📄 hardware.h
字号:
#ifdef HARDWARE_GLOBALS
#define HARDWARE_EXT
#else
#define HARDWARE_EXT extern
#endif
#define MAX_REC_BUFF 5 //改数量表示同时可以处理的帧数,默认是5帧
union REC_BUFF_UNION
{
uint32 Dwords[384];
uint16 words[768];
uint8 bytes[1536];
};
//HARDWARE_EXT unsigned char IN_CODE My_Ip_Address[4];
//HARDWARE_EXT EX_RAM ipethernet ethernet_head;
HARDWARE_EXT union REC_BUFF_UNION REC_BUFF[MAX_REC_BUFF];
HARDWARE_EXT uint16 swap_int16(uint16 temp);
HARDWARE_EXT uint32 swap_int32(uint32 temp);
HARDWARE_EXT uint32 Char4ToInt32(uint8 * temp);
HARDWARE_EXT uint16 Char2ToInt16(uint8 * temp);
HARDWARE_EXT void page(uint8 pagenumber) USE_DATA ;
HARDWARE_EXT void SetMacID(uint8 IN_CODE * mac_ptr) USE_DATA ;
HARDWARE_EXT void Send_Packet(struct _pkst *TxdData) USE_DATA ;// 由以太网层的Send_ethernet_Frame()函数调用,用于发送以太网帧。
HARDWARE_EXT uint8 Rec_Packet(void) USE_DATA ; //直接由接受任务调用,成功返回0。
HARDWARE_EXT uint8 InitNic(uint8 num) ;
//HARDWARE_EXT unsigned char rec_data() ;//USE_DATA ;
#define BaseAddr 0x6000000
#define ADDR_SFT 0
//#define BaseAddr 0x6000000
#define RWPORT (BaseAddr+(0x10<<ADDR_SFT)) /* dma read write address, form 0x10 - 0x17 */
#define RstAddr (BaseAddr+(0x18<<ADDR_SFT)) /* reset register, 0x18, 0x1a, 0x1c, 0x1e even address is recommanded */
/* page 0 */
#define Pstart (BaseAddr+(1<<ADDR_SFT)) /* page start */
#define Pstop (BaseAddr+(2<<ADDR_SFT)) /* page stop */
#define BNRY (BaseAddr+(3<<ADDR_SFT))
#define TPSR (BaseAddr+(4<<ADDR_SFT)) /* transmit page start */
#define TBCR0 (BaseAddr+(5<<ADDR_SFT))
#define TBCR1 (BaseAddr+(6<<ADDR_SFT))
#define ISR (BaseAddr+(7<<ADDR_SFT)) /* interrupt status register */
#define RSAR0 (BaseAddr+(8<<ADDR_SFT)) /* dma read address */
#define RSAR1 (BaseAddr+(9<<ADDR_SFT))
#define RBCR0 (BaseAddr+(10<<ADDR_SFT)) /* dma read byte count */
#define RBCR1 (BaseAddr+(11<<ADDR_SFT))
#define RCR (BaseAddr+(12<<ADDR_SFT)) /* receive config */
#define TCR (BaseAddr+(13<<ADDR_SFT)) /* transmit config */
#define DCR (BaseAddr+(14<<ADDR_SFT)) /* data config */
#define IMR (BaseAddr+(15<<ADDR_SFT)) /* interrupt mask */
#define ID8019L (BaseAddr+(10<<ADDR_SFT))
#define ID8019H (BaseAddr+(11<<ADDR_SFT))
/* page 1 */
#define PAR0 (BaseAddr+(1<<ADDR_SFT))
#define PAR1 (BaseAddr+(2<<ADDR_SFT))
#define PAR2 (BaseAddr+(3<<ADDR_SFT))
#define PAR3 (BaseAddr+(4<<ADDR_SFT))
#define PAR4 (BaseAddr+(5<<ADDR_SFT))
#define PAR5 (BaseAddr+(6<<ADDR_SFT))
#define CURR (BaseAddr+(7<<ADDR_SFT))
#define MAR0 (BaseAddr+(8<<ADDR_SFT))
#define MAR1 (BaseAddr+(9<<ADDR_SFT))
#define MAR2 (BaseAddr+(10<<ADDR_SFT))
#define MAR3 (BaseAddr+(11<<ADDR_SFT))
#define MAR4 (BaseAddr+(12<<ADDR_SFT))
#define MAR5 (BaseAddr+(13<<ADDR_SFT))
#define MAR6 (BaseAddr+(14<<ADDR_SFT))
#define MAR7 (BaseAddr+(15<<ADDR_SFT))
/* page 2 */
/* page 3 */
#define CR9346 (BaseAddr+(1<<ADDR_SFT))
#define CONFIG0 (BaseAddr+(3<<ADDR_SFT))
#define CONFIG1 (BaseAddr+(4<<ADDR_SFT))
#define CONFIG2 (BaseAddr+(5<<ADDR_SFT))
#define CONFIG3 (BaseAddr+(6<<ADDR_SFT))
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -