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

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

?? avrnet.lss

?? ATmage32 + microchip的enc28j60實現(xiàn)web server的解決方案
?? LSS
?? 第 1 頁 / 共 5 頁
字號:
0000071a <__do_copy_data>:
     71a:	10 e0       	ldi	r17, 0x00	; 0
     71c:	a0 e6       	ldi	r26, 0x60	; 96
     71e:	b0 e0       	ldi	r27, 0x00	; 0
     720:	ea e6       	ldi	r30, 0x6A	; 106
     722:	f8 e2       	ldi	r31, 0x28	; 40
     724:	02 c0       	rjmp	.+4      	; 0x72a <.do_copy_data_start>

00000726 <.do_copy_data_loop>:
     726:	05 90       	lpm	r0, Z+
     728:	0d 92       	st	X+, r0

0000072a <.do_copy_data_start>:
     72a:	aa 3e       	cpi	r26, 0xEA	; 234
     72c:	b1 07       	cpc	r27, r17
     72e:	d9 f7       	brne	.-10     	; 0x726 <.do_copy_data_loop>

00000730 <__do_clear_bss>:
     730:	11 e0       	ldi	r17, 0x01	; 1
     732:	aa ee       	ldi	r26, 0xEA	; 234
     734:	b0 e0       	ldi	r27, 0x00	; 0
     736:	01 c0       	rjmp	.+2      	; 0x73a <.do_clear_bss_start>

00000738 <.do_clear_bss_loop>:
     738:	1d 92       	st	X+, r1

0000073a <.do_clear_bss_start>:
     73a:	a2 32       	cpi	r26, 0x22	; 34
     73c:	b1 07       	cpc	r27, r17
     73e:	e1 f7       	brne	.-8      	; 0x738 <.do_clear_bss_loop>
     740:	0e 94 1e 07 	call	0xe3c	; 0xe3c <main>
     744:	0c 94 34 14 	jmp	0x2868	; 0x2868 <_exit>

00000748 <__bad_interrupt>:
     748:	0c 94 00 00 	jmp	0	; 0x0 <__vectors>

0000074c <enc28j60ReadOp>:
// Description : Send ARP request packet to destination.
//
//*******************************************************************************************
BYTE enc28j60ReadOp(BYTE op, BYTE address)
{
     74c:	c4 98       	cbi	0x18, 4	; 24
	// activate CS
	CSACTIVE;
	// issue read command
	SPDR = op | (address & ADDR_MASK);
     74e:	96 2f       	mov	r25, r22
     750:	9f 71       	andi	r25, 0x1F	; 31
     752:	98 2b       	or	r25, r24
     754:	9f b9       	out	0x0f, r25	; 15
	waitspi();
     756:	77 9b       	sbis	0x0e, 7	; 14
     758:	fe cf       	rjmp	.-4      	; 0x756 <enc28j60ReadOp+0xa>
	// read data
	SPDR = 0x00;
     75a:	1f b8       	out	0x0f, r1	; 15
	waitspi();
     75c:	77 9b       	sbis	0x0e, 7	; 14
     75e:	fe cf       	rjmp	.-4      	; 0x75c <enc28j60ReadOp+0x10>
	// do dummy read if needed (for mac and mii, see datasheet page 29)
	if(address & 0x80)
     760:	67 ff       	sbrs	r22, 7
     762:	03 c0       	rjmp	.+6      	; 0x76a <enc28j60ReadOp+0x1e>
	{
		SPDR = 0x00;
     764:	1f b8       	out	0x0f, r1	; 15
		waitspi();
     766:	77 9b       	sbis	0x0e, 7	; 14
     768:	fe cf       	rjmp	.-4      	; 0x766 <enc28j60ReadOp+0x1a>
	}
	// release CS
	CSPASSIVE;
     76a:	c4 9a       	sbi	0x18, 4	; 24
	return(SPDR);
     76c:	8f b1       	in	r24, 0x0f	; 15
}
     76e:	99 27       	eor	r25, r25
     770:	08 95       	ret

00000772 <enc28j60WriteOp>:
//*******************************************************************************************
//
// Function : icmp_send_request
// Description : Send ARP request packet to destination.
//
//*******************************************************************************************
void enc28j60WriteOp(BYTE op, BYTE address, BYTE data)
{
     772:	c4 98       	cbi	0x18, 4	; 24
	CSACTIVE;
	// issue write command
	SPDR = op | (address & ADDR_MASK);
     774:	6f 71       	andi	r22, 0x1F	; 31
     776:	68 2b       	or	r22, r24
     778:	6f b9       	out	0x0f, r22	; 15
	waitspi();
     77a:	77 9b       	sbis	0x0e, 7	; 14
     77c:	fe cf       	rjmp	.-4      	; 0x77a <enc28j60WriteOp+0x8>
	// write data
	SPDR = data;
     77e:	4f b9       	out	0x0f, r20	; 15
	waitspi();
     780:	77 9b       	sbis	0x0e, 7	; 14
     782:	fe cf       	rjmp	.-4      	; 0x780 <enc28j60WriteOp+0xe>
	CSPASSIVE;
     784:	c4 9a       	sbi	0x18, 4	; 24
     786:	08 95       	ret

00000788 <enc28j60SetBank>:
}
//*******************************************************************************************
//
// Function : icmp_send_request
// Description : Send ARP request packet to destination.
//
//*******************************************************************************************
void enc28j60SetBank(BYTE address)
{
     788:	1f 93       	push	r17
     78a:	cf 93       	push	r28
     78c:	df 93       	push	r29
     78e:	18 2f       	mov	r17, r24
	// set the bank (if needed)
	if((address & BANK_MASK) != Enc28j60Bank)
     790:	c8 2f       	mov	r28, r24
     792:	dd 27       	eor	r29, r29
     794:	c0 76       	andi	r28, 0x60	; 96
     796:	d0 70       	andi	r29, 0x00	; 0
     798:	80 91 ea 00 	lds	r24, 0x00EA
     79c:	99 27       	eor	r25, r25
     79e:	c8 17       	cp	r28, r24
     7a0:	d9 07       	cpc	r29, r25
     7a2:	91 f0       	breq	.+36     	; 0x7c8 <enc28j60SetBank+0x40>
	{
		// set the bank
		enc28j60WriteOp(ENC28J60_BIT_FIELD_CLR, ECON1, (ECON1_BSEL1|ECON1_BSEL0));
     7a4:	43 e0       	ldi	r20, 0x03	; 3
     7a6:	6f e1       	ldi	r22, 0x1F	; 31
     7a8:	80 ea       	ldi	r24, 0xA0	; 160
     7aa:	0e 94 b9 03 	call	0x772	; 0x772 <enc28j60WriteOp>
		enc28j60WriteOp(ENC28J60_BIT_FIELD_SET, ECON1, (address & BANK_MASK)>>5);
     7ae:	85 e0       	ldi	r24, 0x05	; 5
     7b0:	d5 95       	asr	r29
     7b2:	c7 95       	ror	r28
     7b4:	8a 95       	dec	r24
     7b6:	e1 f7       	brne	.-8      	; 0x7b0 <enc28j60SetBank+0x28>
     7b8:	4c 2f       	mov	r20, r28
     7ba:	6f e1       	ldi	r22, 0x1F	; 31
     7bc:	80 e8       	ldi	r24, 0x80	; 128
     7be:	0e 94 b9 03 	call	0x772	; 0x772 <enc28j60WriteOp>
		Enc28j60Bank = (address & BANK_MASK);
     7c2:	10 76       	andi	r17, 0x60	; 96
     7c4:	10 93 ea 00 	sts	0x00EA, r17
     7c8:	df 91       	pop	r29
     7ca:	cf 91       	pop	r28
     7cc:	1f 91       	pop	r17
     7ce:	08 95       	ret

000007d0 <enc28j60Read>:
	}
}
//*******************************************************************************************
//
// Function : icmp_send_request
// Description : Send ARP request packet to destination.
//
//*******************************************************************************************
BYTE enc28j60Read(BYTE address)
{
     7d0:	1f 93       	push	r17
     7d2:	18 2f       	mov	r17, r24
	// select bank to read
	enc28j60SetBank(address);
     7d4:	0e 94 c4 03 	call	0x788	; 0x788 <enc28j60SetBank>
	
	// do the read
	return enc28j60ReadOp(ENC28J60_READ_CTRL_REG, address);
     7d8:	61 2f       	mov	r22, r17
     7da:	80 e0       	ldi	r24, 0x00	; 0
     7dc:	0e 94 a6 03 	call	0x74c	; 0x74c <enc28j60ReadOp>
}
     7e0:	99 27       	eor	r25, r25
     7e2:	1f 91       	pop	r17
     7e4:	08 95       	ret

000007e6 <enc28j60Write>:
//*******************************************************************************************
//
// Function : icmp_send_request
// Description : Send ARP request packet to destination.
//
//*******************************************************************************************
void enc28j60Write(BYTE address, BYTE data)
{
     7e6:	0f 93       	push	r16
     7e8:	1f 93       	push	r17
     7ea:	08 2f       	mov	r16, r24
     7ec:	16 2f       	mov	r17, r22
	// select bank to write
	enc28j60SetBank(address);
     7ee:	0e 94 c4 03 	call	0x788	; 0x788 <enc28j60SetBank>

	// do the write
	enc28j60WriteOp(ENC28J60_WRITE_CTRL_REG, address, data);
     7f2:	41 2f       	mov	r20, r17
     7f4:	60 2f       	mov	r22, r16
     7f6:	80 e4       	ldi	r24, 0x40	; 64
     7f8:	0e 94 b9 03 	call	0x772	; 0x772 <enc28j60WriteOp>
     7fc:	1f 91       	pop	r17
     7fe:	0f 91       	pop	r16
     800:	08 95       	ret

00000802 <enc28j60_read_phyreg>:
}
//*******************************************************************************************
//
// Function : icmp_send_request
// Description : Send ARP request packet to destination.
//
//*******************************************************************************************
WORD enc28j60_read_phyreg(BYTE address)
{
     802:	0f 93       	push	r16
     804:	1f 93       	push	r17
	WORD data;
	
	// set the PHY register address
	enc28j60Write(MIREGADR, address);
     806:	68 2f       	mov	r22, r24
     808:	84 ed       	ldi	r24, 0xD4	; 212
     80a:	0e 94 f3 03 	call	0x7e6	; 0x7e6 <enc28j60Write>
	enc28j60Write(MICMD, MICMD_MIIRD);
     80e:	61 e0       	ldi	r22, 0x01	; 1
     810:	82 ed       	ldi	r24, 0xD2	; 210
     812:	0e 94 f3 03 	call	0x7e6	; 0x7e6 <enc28j60Write>
	
	// Loop to wait until the PHY register has been read through the MII
	// This requires 10.24us
	while( (enc28j60Read(MISTAT) & MISTAT_BUSY) );
     816:	8a ee       	ldi	r24, 0xEA	; 234
     818:	0e 94 e8 03 	call	0x7d0	; 0x7d0 <enc28j60Read>
     81c:	80 fd       	sbrc	r24, 0
     81e:	fb cf       	rjmp	.-10     	; 0x816 <enc28j60_read_phyreg+0x14>
	
	// Stop reading
	enc28j60Write(MICMD, MICMD_MIIRD);
     820:	61 e0       	ldi	r22, 0x01	; 1
     822:	82 ed       	ldi	r24, 0xD2	; 210
     824:	0e 94 f3 03 	call	0x7e6	; 0x7e6 <enc28j60Write>
	
	// Obtain results and return
	data = enc28j60Read ( MIRDL );
     828:	88 ed       	ldi	r24, 0xD8	; 216
     82a:	0e 94 e8 03 	call	0x7d0	; 0x7d0 <enc28j60Read>
     82e:	08 2f       	mov	r16, r24
     830:	11 27       	eor	r17, r17
	data |= enc28j60Read ( MIRDH );
     832:	89 ed       	ldi	r24, 0xD9	; 217
     834:	0e 94 e8 03 	call	0x7d0	; 0x7d0 <enc28j60Read>
     838:	99 27       	eor	r25, r25

	return data;
}
     83a:	80 2b       	or	r24, r16
     83c:	91 2b       	or	r25, r17
     83e:	1f 91       	pop	r17
     840:	0f 91       	pop	r16
     842:	08 95       	ret

00000844 <enc28j60PhyWrite>:
//*******************************************************************************************
//
// Function : icmp_send_request
// Description : Send ARP request packet to destination.
//
//*******************************************************************************************
void enc28j60PhyWrite(BYTE address, WORD_BYTES data)
{
     844:	0f 93       	push	r16
     846:	1f 93       	push	r17
     848:	8b 01       	movw	r16, r22
	// set the PHY register address
	enc28j60Write(MIREGADR, address);
     84a:	68 2f       	mov	r22, r24
     84c:	84 ed       	ldi	r24, 0xD4	; 212
     84e:	0e 94 f3 03 	call	0x7e6	; 0x7e6 <enc28j60Write>
	// write the PHY data
	enc28j60Write(MIWRL, data.byte.low);
     852:	60 2f       	mov	r22, r16
     854:	86 ed       	ldi	r24, 0xD6	; 214
     856:	0e 94 f3 03 	call	0x7e6	; 0x7e6 <enc28j60Write>
	enc28j60Write(MIWRH, data.byte.high);
     85a:	61 2f       	mov	r22, r17
     85c:	87 ed       	ldi	r24, 0xD7	; 215
     85e:	0e 94 f3 03 	call	0x7e6	; 0x7e6 <enc28j60Write>
     862:	03 c0       	rjmp	.+6      	; 0x86a <__stack+0xb>
*/
void
_delay_loop_1(uint8_t __count)
{
	__asm__ volatile (
     864:	80 e5       	ldi	r24, 0x50	; 80
     866:	8a 95       	dec	r24
     868:	f1 f7       	brne	.-4      	; 0x866 <__stack+0x7>
	// wait until the PHY write completes
	while(enc28j60Read(MISTAT) & MISTAT_BUSY)
     86a:	8a ee       	ldi	r24, 0xEA	; 234
     86c:	0e 94 e8 03 	call	0x7d0	; 0x7d0 <enc28j60Read>
     870:	80 fd       	sbrc	r24, 0
     872:	f8 cf       	rjmp	.-16     	; 0x864 <__stack+0x5>
     874:	1f 91       	pop	r17
     876:	0f 91       	pop	r16
     878:	08 95       	ret

0000087a <enc28j60getrev>:
	{
		_delay_us(15);
	}
}
//*******************************************************************************************
//
// Function : icmp_send_request
// Description : Send ARP request packet to destination.
//
//*******************************************************************************************
/*
void enc28j60_init( BYTE *avr_mac)
{
	// initialize I/O
	//DDRB |= _BV( DDB4 );
	//CSPASSIVE;



	// enable PB0, reset as output /

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产欧美一区在线| 激情图片小说一区| 国产一区二区三区精品视频| 99精品视频一区| 91精品国产91热久久久做人人| 久久久国产精品不卡| 日本在线不卡视频一二三区| 91亚洲精品一区二区乱码| 久久久精品综合| 蜜桃视频第一区免费观看| 欧美性xxxxxxxx| 1024亚洲合集| 波多野结衣欧美| 国产欧美一区二区三区在线老狼| 免费看黄色91| 91精品一区二区三区在线观看| 夜夜揉揉日日人人青青一国产精品| 国产一区二区三区精品视频| 日韩色视频在线观看| 亚洲二区视频在线| 91福利视频网站| 一区二区免费看| 不卡视频一二三四| 国产精品欧美一区喷水| 国产一区在线视频| 久久中文娱乐网| 久久99精品久久久久| 精品国产人成亚洲区| 免费成人在线影院| 日韩精品一区二区在线观看| 日韩激情一二三区| 欧美一级生活片| 蜜臀91精品一区二区三区| 日韩视频在线永久播放| 久草热8精品视频在线观看| 91精品国产色综合久久不卡电影 | 欧美色图在线观看| 一区二区三区免费看视频| 色哟哟日韩精品| 亚洲与欧洲av电影| 欧美日本一区二区三区四区| 亚洲福利一区二区三区| 欧美日韩精品一区二区三区| 亚洲超碰97人人做人人爱| 欧美日本在线看| 美女脱光内衣内裤视频久久网站 | 精品免费国产一区二区三区四区| 麻豆高清免费国产一区| 2024国产精品| 成人黄色综合网站| 亚洲免费资源在线播放| 在线综合视频播放| 久久99久久99| 亚洲欧洲精品一区二区三区不卡 | 午夜欧美在线一二页| 欧美一卡二卡在线观看| 国产精品18久久久久久久久久久久| 国产目拍亚洲精品99久久精品| 91在线高清观看| 亚洲国产成人av网| 久久综合精品国产一区二区三区 | 精品一区二区日韩| 国产精品天美传媒| 欧美乱熟臀69xxxxxx| 美女视频一区二区| 欧美国产一区二区| 欧美日韩一区三区四区| 国产一区二区在线观看免费| 中文字幕一区二区三区精华液| 欧美在线不卡一区| 国产一区二区三区免费在线观看| 日韩一区中文字幕| 欧美一级理论片| 成人小视频在线| 舔着乳尖日韩一区| 国产精品午夜在线| 欧美一级片在线观看| 风间由美一区二区三区在线观看| 亚洲妇女屁股眼交7| 国产精品色婷婷久久58| 欧美一区二区国产| 在线欧美日韩国产| 国产一区不卡在线| 日韩专区在线视频| 亚洲欧美日韩在线| 国产亚洲欧洲一区高清在线观看| 欧美色综合久久| 91丨porny丨在线| 国产一区91精品张津瑜| 日本欧美大码aⅴ在线播放| 日韩毛片精品高清免费| 久久久久88色偷偷免费| 91麻豆精品国产91久久久使用方法| 97久久人人超碰| 国产91在线看| 黄一区二区三区| 日本不卡的三区四区五区| 亚洲小少妇裸体bbw| 中文字幕日韩精品一区| 久久婷婷成人综合色| 日韩欧美一级精品久久| 精品视频免费在线| 在线观看网站黄不卡| 91蜜桃传媒精品久久久一区二区| 成人一区二区三区视频在线观看| 六月丁香婷婷久久| 免费xxxx性欧美18vr| 丝袜亚洲精品中文字幕一区| 一区二区三区在线视频观看| 亚洲婷婷综合久久一本伊一区| 国产欧美一区二区精品久导航| 久久亚洲欧美国产精品乐播| 精品伦理精品一区| 日韩精品一区在线| 久久一二三国产| xnxx国产精品| 国产清纯白嫩初高生在线观看91| 国产片一区二区| 国产精品白丝在线| 1区2区3区国产精品| 亚洲免费资源在线播放| 亚洲精品美腿丝袜| 午夜欧美大尺度福利影院在线看| 亚洲成a人片在线观看中文| 午夜精品久久久| 麻豆久久久久久| 国产激情视频一区二区在线观看 | 亚洲欧美日韩小说| 亚洲精品va在线观看| 视频一区欧美精品| 蜜桃视频一区二区三区在线观看| 国模一区二区三区白浆| 高清不卡在线观看| 97久久精品人人澡人人爽| 欧美色精品在线视频| 日韩欧美一区电影| 国产午夜亚洲精品理论片色戒 | 国产精品美女久久久久久2018| 国产精品色呦呦| 亚洲电影一级黄| 久久国产福利国产秒拍| 成人av网址在线观看| 色婷婷一区二区| 日韩三级视频在线看| 欧美国产国产综合| 亚洲成av人片在线| 激情综合色播五月| 91论坛在线播放| 欧美一级片在线看| 亚洲日本一区二区| 另类小说一区二区三区| 99久久精品国产导航| 777午夜精品免费视频| 国产偷国产偷亚洲高清人白洁| 亚洲夂夂婷婷色拍ww47| 久久超碰97人人做人人爱| 色综合久久中文字幕| 日韩欧美精品在线视频| 亚洲色图在线播放| 国产裸体歌舞团一区二区| 欧美优质美女网站| 国产视频在线观看一区二区三区 | 欧美日本在线播放| 中文字幕欧美激情| 开心九九激情九九欧美日韩精美视频电影| 粉嫩av一区二区三区粉嫩| 91精品欧美福利在线观看 | 久久精品一区八戒影视| 午夜精品视频一区| 99久久精品免费看国产 | 日韩精品最新网址| 亚洲欧美激情小说另类| 粉嫩aⅴ一区二区三区四区五区| 欧美美女一区二区三区| 中文字幕在线一区免费| 久久99国产精品尤物| 在线播放亚洲一区| 亚洲色欲色欲www| 国产成人免费网站| 欧美大白屁股肥臀xxxxxx| 一区二区三国产精华液| 97久久精品人人爽人人爽蜜臀 | 风间由美一区二区三区在线观看| 日韩一区二区三区电影在线观看| 亚洲精品国产精华液| 成人18精品视频| 中文一区二区完整视频在线观看| 蜜臀久久久久久久| 欧美精品v国产精品v日韩精品 | 亚洲欧美偷拍卡通变态| 成人激情校园春色| 国产欧美日韩一区二区三区在线观看| 老司机精品视频导航| 欧美一区二区三区在线电影| 亚洲最大的成人av| 欧美综合久久久| 玉足女爽爽91| 欧美色图在线观看| 日日摸夜夜添夜夜添精品视频| 欧美日韩国产经典色站一区二区三区|