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

📄 rtl8019.s

📁 uIP是免费的TCP/IP协议栈,我们将它移植到我们的AVR以太网开发板中
💻 S
📖 第 1 页 / 共 3 页
字号:
	lds R12,49152
L168:
	.dbline 488
	.dbline 488
	ldi R24,33
	sts 49152,R24
	.dbline 488
L169:
	.dbline 488
; 	rtl8019Write(CR, 0x21);
	.dbline 489
; 	delay_ms(2);
	ldi R16,2
	xcall _delay_ms
L171:
	.dbline 490
	.dbline 490
	clr R2
	sts 51712,R2
	.dbline 490
L172:
	.dbline 490
; 	rtl8019Write(RBCR0, 0x00);
L174:
	.dbline 491
	.dbline 491
	clr R2
	sts 51968,R2
	.dbline 491
L175:
	.dbline 491
; 	rtl8019Write(RBCR1, 0x00);
	.dbline 492
; 	if(!(data_L & 0x04))
	sbrc R12,2
	rjmp L177
	.dbline 493
; 		resend = 0;
	clr R10
	xjmp L178
L177:
	.dbline 494
; 	else if(data_L & 0x04)
	sbrs R12,2
	rjmp L179
	.dbline 495
; 	{
	.dbline 496
; 		data_L = rtl8019Read(ISR);
	lds R12,50944
	.dbline 497
; 		if((data_L & 0x02) || (data_L & 0x08))
	sbrc R12,1
	rjmp L183
	sbrs R12,3
	rjmp L181
L183:
	.dbline 498
; 	    	resend = 0;
	clr R10
	xjmp L182
L181:
	.dbline 500
; 	    else
; 	    	resend = 1;
	clr R10
	inc R10
L182:
	.dbline 501
; 	}
L179:
L178:
L184:
	.dbline 503
	.dbline 503
	ldi R24,2
	sts 52480,R24
	.dbline 503
L185:
	.dbline 503
; 	
; 	rtl8019Write(TCR, 0x02);
L187:
	.dbline 504
	.dbline 504
	ldi R24,34
	sts 49152,R24
	.dbline 504
L188:
	.dbline 504
; 	rtl8019Write(CR, 0x22);
L190:
	.dbline 505
	.dbline 505
	ldi R24,70
	sts 49920,R24
	.dbline 505
L191:
	.dbline 505
; 	rtl8019Write(BNRY, RXSTART_INIT);
L193:
	.dbline 506
	.dbline 506
	ldi R24,98
	sts 49152,R24
	.dbline 506
L194:
	.dbline 506
; 	rtl8019Write(CR, 0x62);
L196:
	.dbline 507
	.dbline 507
	ldi R24,70
	sts 50944,R24
	.dbline 507
L197:
	.dbline 507
; 	rtl8019Write(CURR, RXSTART_INIT);
L199:
	.dbline 508
	.dbline 508
	ldi R24,34
	sts 49152,R24
	.dbline 508
L200:
	.dbline 508
; 	rtl8019Write(CR, 0x22);
L202:
	.dbline 509
	.dbline 509
	ldi R24,16
	sts 50944,R24
	.dbline 509
L203:
	.dbline 509
; 	rtl8019Write(ISR, 0x10);
L205:
	.dbline 510
	.dbline 510
	clr R2
	sts 52480,R2
	.dbline 510
L206:
	.dbline 510
; 	rtl8019Write(TCR, TCR_INIT);
	.dbline 512
; 	
;     if(resend)
	tst R10
	breq L208
L210:
	.dbline 513
	.dbline 513
	ldi R24,38
	sts 49152,R24
	.dbline 513
L211:
	.dbline 513
;         rtl8019Write(CR, 0x26);
L208:
L213:
	.dbline 515
	.dbline 515
	ldi R24,255
	sts 50944,R24
	.dbline 515
L214:
	.dbline 515
; 
;     rtl8019Write(ISR, 0xFF);
	.dbline -2
L167:
	xcall pop_gset4x
	.dbline 0 ; func end
	ret
	.dbsym r resend 10 c
	.dbsym r data_L 12 c
	.dbend
	.dbfunc e rtl8019Init _rtl8019Init fV
	.even
_rtl8019Init::
	.dbline -1
	.dbline 520
; }
; 
; 
; void rtl8019Init(void)
; {
	.dbline 521
; 	rtl8019SetupPorts();
	xcall _rtl8019SetupPorts
L217:
	.dbline 523
	.dbline 523
	lds R24,101
	ori R24,8
	sts 101,R24
	.dbline 523
	ldi R16,10
	xcall _delay_ms
	.dbline 523
	lds R24,101
	andi R24,247
	sts 101,R24
	.dbline 523
L218:
	.dbline 523
; 	
; 	HARD_RESET_RTL8019();
L220:
	.dbline 526
	.dbline 526
	lds R2,50944
	sts 50944,R2
	.dbline 526
L221:
	.dbline 526
; 	
; 	// do soft reset
; 	rtl8019Write( ISR, rtl8019Read(ISR) ) ;
	.dbline 527
; 	delay_ms(50);
	ldi R16,50
	xcall _delay_ms
L223:
	.dbline 530
	.dbline 530
	ldi R24,225
	sts 49152,R24
	.dbline 530
L224:
	.dbline 530
; 
;     // switch to page 3 to load config registers
;     rtl8019Write(CR, 0xE1);
L226:
	.dbline 533
	.dbline 533
	ldi R24,192
	sts 49408,R24
	.dbline 533
L227:
	.dbline 533
; 
;     // disable EEPROM write protect of config registers
;     rtl8019Write(RTL_EECR, 0xC0);
L229:
	.dbline 536
	.dbline 536
	ldi R24,32
	sts 50432,R24
	.dbline 536
L230:
	.dbline 536
; 
;     // set network type to 10 Base-T link test
;     rtl8019Write(CONFIG2, 0x20);
L232:
	.dbline 539
	.dbline 539
	clr R2
	sts 50688,R2
	.dbline 539
L233:
	.dbline 539
; 
;     // disable powerdown and sleep
;     rtl8019Write(CONFIG3, 0);
	.dbline 540
;     delay_ms(255);
	ldi R16,255
	xcall _delay_ms
L235:
	.dbline 543
	.dbline 543
	clr R2
	sts 49408,R2
	.dbline 543
L236:
	.dbline 543
; 
;     // reenable EEPROM write protect
;     rtl8019Write(RTL_EECR, 0);
L238:
	.dbline 546
	.dbline 546
	ldi R24,33
	sts 49152,R24
	.dbline 546
L239:
	.dbline 546
; 
;     // go back to page 0
;     rtl8019Write(CR, 0x21);
L241:
	.dbline 548
	.dbline 548
	ldi R24,33
	sts 49152,R24
	.dbline 548
L242:
	.dbline 548
; 
;     rtl8019Write(CR,0x21);       // stop the NIC, abort DMA, page 0
	.dbline 549
; 	delay_ms(2);               // make sure nothing is coming in or going out
	ldi R16,2
	xcall _delay_ms
L244:
	.dbline 550
	.dbline 550
	ldi R24,88
	sts 52736,R24
	.dbline 550
L245:
	.dbline 550
; 	rtl8019Write(DCR, DCR_INIT);    // 0x58
L247:
	.dbline 551
	.dbline 551
	clr R2
	sts 51712,R2
	.dbline 551
L248:
	.dbline 551
; 	rtl8019Write(RBCR0,0x00);
L250:
	.dbline 552
	.dbline 552
	clr R2
	sts 51968,R2
	.dbline 552
L251:
	.dbline 552
; 	rtl8019Write(RBCR1,0x00);
L253:
	.dbline 553
	.dbline 553
	ldi R24,4
	sts 52224,R24
	.dbline 553
L254:
	.dbline 553
; 	rtl8019Write(RCR,0x04);
L256:
	.dbline 554
	.dbline 554
	ldi R24,64
	sts 50176,R24
	.dbline 554
L257:
	.dbline 554
; 	rtl8019Write(TPSR, TXSTART_INIT);
L259:
	.dbline 555
	.dbline 555
	ldi R24,2
	sts 52480,R24
	.dbline 555
L260:
	.dbline 555
; 	rtl8019Write(TCR,0x02);
L262:
	.dbline 556
	.dbline 556
	ldi R24,70
	sts 49408,R24
	.dbline 556
L263:
	.dbline 556
; 	rtl8019Write(PSTART, RXSTART_INIT);
L265:
	.dbline 557
	.dbline 557
	ldi R24,70
	sts 49920,R24
	.dbline 557
L266:
	.dbline 557
; 	rtl8019Write(BNRY, RXSTART_INIT);
L268:
	.dbline 558
	.dbline 558
	ldi R24,96
	sts 49664,R24
	.dbline 558
L269:
	.dbline 558
; 	rtl8019Write(PSTOP, RXSTOP_INIT);
L271:
	.dbline 559
	.dbline 559
	ldi R24,97
	sts 49152,R24
	.dbline 559
L272:
	.dbline 559
; 	rtl8019Write(CR, 0x61);
	.dbline 560
; 	delay_ms(2);
	ldi R16,2
	xcall _delay_ms
L274:
	.dbline 561
	.dbline 561
	ldi R24,70
	sts 50944,R24
	.dbline 561
L275:
	.dbline 561
; 	rtl8019Write(CURR, RXSTART_INIT);
L277:
	.dbline 563
	.dbline 563
	ldi R24,79
	sts 49408,R24
	.dbline 563
L278:
	.dbline 563
; 	
; 	rtl8019Write(PAR0+0, MYMAC_0);
L280:
	.dbline 564
	.dbline 564
	ldi R24,70
	sts 49664,R24
	.dbline 564
L281:
	.dbline 564
; 	rtl8019Write(PAR0+1, MYMAC_1);
L283:
	.dbline 565
	.dbline 565
	ldi R24,70
	sts 49920,R24
	.dbline 565
L284:
	.dbline 565
; 	rtl8019Write(PAR0+2, MYMAC_2);
L286:
	.dbline 566
	.dbline 566
	ldi R24,73
	sts 50176,R24
	.dbline 566
L287:
	.dbline 566
; 	rtl8019Write(PAR0+3, MYMAC_3);
L289:
	.dbline 567
	.dbline 567
	ldi R24,67
	sts 50432,R24
	.dbline 567
L290:
	.dbline 567
; 	rtl8019Write(PAR0+4, MYMAC_4);
L292:
	.dbline 568
	.dbline 568
	ldi R24,69
	sts 50688,R24
	.dbline 568
L293:
	.dbline 568
; 	rtl8019Write(PAR0+5, MYMAC_5);
L295:
	.dbline 570
	.dbline 570
	ldi R24,33
	sts 49152,R24
	.dbline 570
L296:
	.dbline 570
;      	  
; 	rtl8019Write(CR,0x21);
L298:
	.dbline 571
	.dbline 571
	ldi R24,88
	sts 52736,R24
	.dbline 571
L299:
	.dbline 571
; 	rtl8019Write(DCR, DCR_INIT);
L301:
	.dbline 572
	.dbline 572
	ldi R24,34
	sts 49152,R24
	.dbline 572
L302:
	.dbline 572
; 	rtl8019Write(CR,0x22);
L304:
	.dbline 573
	.dbline 573
	ldi R24,255
	sts 50944,R24
	.dbline 573
L305:
	.dbline 573
; 	rtl8019Write(ISR,0xFF);
L307:
	.dbline 574
	.dbline 574
	ldi R24,17
	sts 52992,R24
	.dbline 574
L308:
	.dbline 574
; 	rtl8019Write(IMR, IMR_INIT);
L310:
	.dbline 575
	.dbline 575
	clr R2
	sts 52480,R2
	.dbline 575
L311:
	.dbline 575
; 	rtl8019Write(TCR, TCR_INIT);
L313:
	.dbline 577
	.dbline 577
	ldi R24,34
	sts 49152,R24
	.dbline 577
L314:
	.dbline 577
; 	
; 	rtl8019Write(CR, 0x22);	// start the NIC
	.dbline -2
L216:
	.dbline 0 ; func end
	ret
	.dbend
	.dbfunc e rtl8019ProcessInterrupt _rtl8019ProcessInterrupt fV
;           byte -> R10
	.even
_rtl8019ProcessInterrupt::
	xcall push_gset3x
	.dbline -1
	.dbline 582
	.dbline 583
	lds R10,50944
	.dbline 585
	sbrs R10,4
	rjmp L317
	.dbline 586
	xcall _rtl8019Overrun
L317:
	.dbline -2
L316:
	xcall pop_gset3x
	.dbline 0 ; func end
	ret
	.dbsym r byte 10 c
	.dbend
	.area bss(ram, con, rel)
	.dbfile D:\hexok项目\AVRNET项目\AVRNET光盘\AVRuIP\rtl8019.c
_currentRetreiveAddress:
	.blkb 2
	.dbsym s currentRetreiveAddress _currentRetreiveAddress i
_nextPage:
	.blkb 1
	.dbsym s nextPage _nextPage c

⌨️ 快捷键说明

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