亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? rtl8019.h

?? 51單片機下的RTL8019網絡芯片的驅動程序
?? H
字號:
/*
 */

/***************************
 * user configurable value *
 ***************************/

/* min and max packet size */
#define MIN_PACKET_SIZE 60		/* min length in earthnet */
#define MAX_PACKET_SIZE 1514

/* after hardware reset a delay is need. if your RTL8019 is reset
in program(not power up) a delay is adviced */
#define RTL_DELAY_AFTER_HARDWARE_RESET 3000

/* for example if you use a1-a5 as address lines ADDRESS_SHIFT should be 0x02 */
#define	ADDRESS_SHIFT 0x1

/* base address of RTL8019 */
#define RTL_BASE_ADDRESS 0x8000

/* receive start page also transmit stop page. it will write in
register PSTART*/
#define RECEIVE_START_PAGE 0x4C

/* value in PSTOP, max is 0x60(refrence to rtl8019 datasheet),
agree with (web51.HWserver.com), disagree with laogu(www.laogu.com).
after test there is no problem set as 0x80*/
#define RECEIVE_STOP_PAGE 0x60

/* value in TPSR, two startpage of two block of trasmit buffer */
#define SEND_START_PAGE0 0x40
#define SEND_START_PAGE1 0x46
#define SEND_STOP_PAGE	RECEIVE_START_PAGE

/***************************
 *	define about registers *
 ***************************/

/* command register */
#define CR (ADDRESS_SHIFT * 0x00)	/* 7-6 bits pages; 5-3 bits commands; 2 trasmmite packet flag; 1-0 excute command */
#define CR_PAGE0 0x00					/* pages */
#define CR_PAGE1 0x40
#define CR_PAGE2 0x80
#define CR_PAGE3 0xA0
#define CR_REMOTE_READ	0x08					/* commands */
#define CR_REMOTE_WRITE	0x10
#define CR_SEND_PACKET	0x18
#define CR_ABORT_COMPLETE_DMA	0x20
#define CR_TXP			0x04					/* trasmmite packet flag */
#define CR_START_COMMAND	0x02					/* excute command */
#define CR_STOP_COMMAND		0x01

/* register about transmit/receive page */
#define PSTART_WPAGE0	(ADDRESS_SHIFT * 0x01)	/* receive start page register */
#define PSTART_RPAGE2	(ADDRESS_SHIFT * 0x01)
#define PSTOP_WPAGE0	(ADDRESS_SHIFT * 0x02)	/* receive stop page register */
#define PSTOP_RPAGE2	(ADDRESS_SHIFT * 0x02)
/*	bnry is the last page read, so next time you read from bnry+1. inital is startpage
	curr is the page going to write, so next time RTL write in to curr.init is startpage + 1.
	empty: curr = bnry + 1; full: curr = bnry( leave a page not write);
	when curr equal stop page RTL set it to startpage automotly*/
#define BNRY_WPAGE0	(ADDRESS_SHIFT * 0x03)	/* recieve next to read page register */
#define BNRY_RPAGE0	(ADDRESS_SHIFT * 0x03)
#define CURR_WPAGE1	(ADDRESS_SHIFT * 0x07)	/* recieve next to write page + 1 register */
#define CURR_RPAGE1	(ADDRESS_SHIFT * 0x07)
#define TPSR_WPAGE0	(ADDRESS_SHIFT * 0x04)	/* transmit page start register */
#define TPSR_RPAGE2	(ADDRESS_SHIFT * 0x04)
#define TBCRL_WPAGE0	(ADDRESS_SHIFT * 0x05)	/* transmit byte count high register */
#define TBCRH_WPAGE0	(ADDRESS_SHIFT * 0x06)	/* transmit byte count low register */

/* register about interrupt */
#define ISR_WPAGE0 (ADDRESS_SHIFT * 0x07)	/* Interrupt Status Register. write 1 into corresponding bit clear the bit */
#define ISR_RPAGE0 (ADDRESS_SHIFT * 0x07)
#define ISR_RESET_STATE_RECEIVE_OVER	0x80 /* bit 7 */
#define ISR_DMA_OPERATION_COMPLETE	0x40 /* bit 6 */
#define ISR_COUNT_SETED			0x20 /* bit 5. Set when remote DMA operation has been completed.*/
#define ISR_RECEIVE_BUFFER_EXHAUSTED		0x10 /* bit 4 */
#define ISR_TRANSMIT_ABORT_EXCESSIVE_COLLISION	0x08 /* bit 3 */
#define ISR_RECIVED_PACKET_WITH_ERROR		0x04 /* bit 2. CRC error Frame alignment error Missed packet */
#define ISR_TRANSMIT_NO_ERROR			0x02 /* bit 1. */
#define ISR_RECEIVE_NO_ERROR			0x01/* bit 0. */
#define IMR_WPAGE0 (ADDRESS_SHIFT * 0x0F)	/* Interrupt Mask Register. Set 1 enable the interrupt. power up all 0s */
#define IMR_RPAGE2 (ADDRESS_SHIFT * 0x0F)

/*	DCR data configuration Register.
	typical set is 11001000 = 0xC8.
	bit 7 always 1.
	bit 6-5 FT1 FT0 = 10
	bit 4 Auto-initalize Remote = Send packet Command not executed = 0
	bit 3 Loopback Select = Normal = 1
	bit 2 This bit must be set to zero
	bit 1 Byte Order = 8086 CPU = 0
	bit 0 Word Transfer Select = byte wide DMA transfer not word = 0 */
#define DCR_WPAGE0 (ADDRESS_SHIFT * 0x0E)
#define DCR_RPAGE2 (ADDRESS_SHIFT * 0x0E)

/*	TCR Transmit Configuration Register
	typical set is 11100000 = 0xE0
	bit 7-5 always 1
	bit 4 Collision Offset Enable = 0
	bit 3 AutoTransmit Disable = normal operation = 0
	bit 2-1 Lookback = normal operation = 00
	bit 0 CRC generator and Checker enabled. */
#define TCR_WPAGE0 (ADDRESS_SHIFT * 0x0D)
#define TCR_RPAGE2 (ADDRESS_SHIFT * 0x0D)

/*	RCR Receive Configuration Register
	typical set is 11001110 = 0xCE, not receive  broad cast packet set as =0xC8
	bit 7-6 always 1
	bit 5 mon buffer to memory or not = no mon = 0
	bit 4 all address packet recieve = packet with specified address accepted = 0
	bit 3 muliticast destination address accepted? = yes = 1
	bit 2 packets with broadcast destination address are accepted? = yes = 1
	bit 1 packets with length fewer than 64 bytes are accepted? = yes = 1
	bit 0 packets with receive errors are accepted? = no = 0 */
#define RCR_WPAGE0 (ADDRESS_SHIFT * 0x0C)
#define RCR_RPAGE2 (ADDRESS_SHIFT * 0x0C)

/* RSR Receive State Register */
#define RSR_RPAGE0 (ADDRESS_SHIFT * 0x0C)
#define RSR_MULTI_BROADCAST_PACKET 0x20	/* current receive packet is multi or broadcast packet */
#define RSR_RECEIVE_NO_ERROR 0x01

/* registers aboute REMOTE DMA operation(read/write RTL8019 ram) */
#define REMOTE_DMA_PORT (ADDRESS_SHIFT * 0x10)	/* remote DMA port. any of 0x10 - 0x17. read/write RAM of rtl8019 from this port */
#define RSARH_WPAGE0	(ADDRESS_SHIFT * 0x09)	/* remote start address register. high byte */
#define RSARL_WPAGE0	(ADDRESS_SHIFT * 0x08)	/* remote start address register. low byte */
#define RBCRH_WPAGE0	(ADDRESS_SHIFT * 0x0B)	/* remote byte count registers. high byte */
#define RBCRL_WPAGE0	(ADDRESS_SHIFT * 0x0A)	/* remote byte count registers. low byte */

/* registers about LOCAL DMA */
#define CLDAH_RPAGE0	(ADDRESS_SHIFT * 0x02)	/* Current Local DMA Adress high byte. typical use of this two register is to reading CURR */
#define CLDAL_RPAGE0	(ADDRESS_SHIFT * 0x01)	/* Current Local DMA Adress low byte */

/* reset port */
#define RESET_PORT (ADDRESS_SHIFT * 0x1F) /* any of 0x18 - 0x1F. write to this port reset the rtl8019 */

/* phisical adress(MAC address) register */
#define PRA0_WPAGE1	(ADDRESS_SHIFT * 0x01)
#define PRA1_WPAGE1	(ADDRESS_SHIFT * 0x02)
#define PRA2_WPAGE1	(ADDRESS_SHIFT * 0x03)
#define PRA3_WPAGE1	(ADDRESS_SHIFT * 0x04)
#define PRA4_WPAGE1	(ADDRESS_SHIFT * 0x05)
#define PRA5_WPAGE1	(ADDRESS_SHIFT * 0x06)

/*	RTL config register 1
	bit7: IRQEN:set IRQ low level enable or high level enable
	bit6-4: IRQS2-0: which IRQ pins is selected as interrupt
	bit3-0: which base address is selected */
#define CONFIG1_RPAGE3 (ADDRESS_SHIFT * 0x04)
#define CONFIG1_WPAGE3 (ADDRESS_SHIFT * 0x04)

void RTL8019Init() reentrant;
unsigned char RTLSendPacket(unsigned char xdata * buffer,unsigned int size) reentrant;
struct SMemHead xdata * RTLReceivePacket() reentrant;
unsigned char ReadReg(unsigned char chPort);
void WriteReg(unsigned char chPort,unsigned char chValue);
void RTLPage(unsigned char chPageNum);
void RTL8019SendPacketTest();

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
26uuu亚洲| 欧美成人精品1314www| 日韩一区欧美小说| 色综合婷婷久久| 亚洲制服丝袜av| 欧美日韩一区高清| 蜜臀av性久久久久蜜臀aⅴ四虎| 日韩视频不卡中文| 国产精品一品视频| 亚洲视频综合在线| 欧美日韩国产首页在线观看| 欧美a一区二区| 久久久综合网站| 99精品国产视频| 亚洲国产综合在线| 精品日本一线二线三线不卡| 丁香激情综合国产| 亚洲国产中文字幕在线视频综合| 欧美一区二区视频在线观看2022| 国产美女在线观看一区| 亚洲欧美一区二区久久| 欧美一区二区三区人| 国产91综合一区在线观看| 一区二区三区在线视频播放| 欧美成人video| 91九色02白丝porn| 国内不卡的二区三区中文字幕 | 国产精品理伦片| 欧美性极品少妇| 国产综合色在线视频区| 日韩理论片网站| 欧美一级理论性理论a| 成人一区二区三区视频在线观看 | 一区二区三区四区视频精品免费| 69久久夜色精品国产69蝌蚪网| 国产成人av电影在线观看| 亚洲国产乱码最新视频 | 欧美在线视频日韩| 国产一区欧美一区| 亚洲v日本v欧美v久久精品| 中文字幕高清一区| 日韩一区二区三| 色综合中文字幕国产 | 欧美肥妇bbw| 91亚洲国产成人精品一区二区三| 美洲天堂一区二卡三卡四卡视频| 亚洲免费在线电影| 久久九九久久九九| 日韩精品一区在线| 欧美日韩国产影片| 色屁屁一区二区| 成人免费观看视频| 国产九色sp调教91| 久久精品国产77777蜜臀| 一区二区三区在线播| 国产精品国产自产拍在线| 精品处破学生在线二十三| 欧美人体做爰大胆视频| 欧美在线不卡视频| 99国内精品久久| 粉嫩av一区二区三区| 狠狠色综合日日| 精品在线播放午夜| 久久99国产精品成人| 日韩激情一二三区| 午夜电影网亚洲视频| 亚洲一卡二卡三卡四卡无卡久久 | 亚洲国产婷婷综合在线精品| 亚洲美女精品一区| 国产精品高潮久久久久无| 亚洲国产精品成人综合| 久久众筹精品私拍模特| 久久久综合激的五月天| 久久欧美中文字幕| 中文字幕免费一区| 国产精品精品国产色婷婷| 欧美国产一区视频在线观看| 国产偷国产偷精品高清尤物| 国产欧美日韩在线| 中文字幕精品一区 | 亚洲伊人色欲综合网| 成人免费在线观看入口| 亚洲摸摸操操av| 一区二区三区欧美日| 亚洲高清免费观看| 视频一区免费在线观看| 久久精品国产精品亚洲综合| 久久99久久久久久久久久久| 国内精品视频一区二区三区八戒| 国产成人av福利| 91麻豆国产精品久久| 欧美性极品少妇| 欧美一级理论性理论a| 日韩免费一区二区| 国产亚洲精品7777| 亚洲日本丝袜连裤袜办公室| 夜夜嗨av一区二区三区中文字幕 | 久久免费视频色| 国产精品久久久久精k8| 亚洲午夜精品网| 久久丁香综合五月国产三级网站| 国产精品一色哟哟哟| 97se亚洲国产综合在线| 欧美美女一区二区三区| 久久综合999| 亚洲激情av在线| 精品综合久久久久久8888| 丁香激情综合国产| 欧美酷刑日本凌虐凌虐| 国产日韩在线不卡| 午夜欧美2019年伦理| 国产精品中文有码| 欧美亚洲国产一区二区三区 | 免费在线观看精品| 丰满白嫩尤物一区二区| 欧美日韩精品欧美日韩精品一综合| 欧美日韩成人综合| 亚洲国产精品传媒在线观看| 亚洲va欧美va国产va天堂影院| 国产伦理精品不卡| 欧美日韩国产天堂| 国产午夜三级一区二区三| 一区二区三区四区不卡视频| 国产美女精品在线| 欧美一区二区性放荡片| 亚洲精品乱码久久久久久| 国产精品99久久久久久有的能看| 欧美日韩精品二区第二页| 国产欧美一区二区三区沐欲| 天堂成人国产精品一区| 91网站黄www| 欧美va亚洲va香蕉在线| 亚洲午夜免费视频| 不卡电影一区二区三区| 日韩欧美一区在线观看| 亚洲九九爱视频| 国产91色综合久久免费分享| 91精品国产品国语在线不卡| 夜夜爽夜夜爽精品视频| av不卡一区二区三区| 久久精品综合网| 激情文学综合网| 日韩精品一区二区三区四区视频| 亚洲综合在线五月| 91偷拍与自偷拍精品| 久久久www免费人成精品| 免费成人av在线| 7878成人国产在线观看| 亚洲图片欧美色图| 在线视频欧美精品| 天天综合网 天天综合色| 成人网男人的天堂| 国产精品久久久久久亚洲毛片 | 色www精品视频在线观看| 国产日韩欧美麻豆| 国产一区二区不卡| 久久久久久久久久看片| 久久99深爱久久99精品| 欧美一级黄色大片| 秋霞午夜鲁丝一区二区老狼| 欧美日韩一区二区在线观看| 亚洲一区二区黄色| 在线中文字幕不卡| 亚洲大型综合色站| 欧美性猛交一区二区三区精品| 一个色综合网站| 欧美日韩三级一区| 亚洲成人免费av| 91精品国产综合久久久久久| 日韩不卡一二三区| 欧美一区二区视频观看视频| 蜜桃91丨九色丨蝌蚪91桃色| 精品久久久久久久人人人人传媒 | 夜夜嗨av一区二区三区网页| 91久久久免费一区二区| 亚洲国产欧美在线人成| 91精品国产一区二区人妖| 热久久一区二区| 久久精品网站免费观看| 不卡一区中文字幕| 亚洲激情六月丁香| 欧美一区二区三区在线观看| 免费成人av在线| 久久久.com| 91黄视频在线观看| 首页国产丝袜综合| 久久综合色婷婷| 成人午夜电影久久影院| 亚洲欧洲成人自拍| 884aa四虎影成人精品一区| 国产自产2019最新不卡| 国产精品久久久久婷婷二区次| 一本高清dvd不卡在线观看| 亚洲成人一区二区| 久久久综合精品| 91久久人澡人人添人人爽欧美| 五月开心婷婷久久| 久久精品一区蜜桃臀影院| 91蜜桃在线观看| 日本成人中文字幕在线视频|