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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? rtl8019.c

?? 一個很好的例程
?? C
?? 第 1 頁 / 共 2 頁
字號:
#include	"cpu_reg.h"
#include	"string.h"
#include	"RTL8019.h"

struct	ipaddr   	server_ipaddr,nod_ipaddr,r_ipaddr;
struct 	mac      	MAC_server,MAC_broad,MAC_rec;
struct 	mac      	MAC_self,MAC_nod;
struct 	iphdr    	t_iphdr;
struct 	igmphdr  	t_igmphdr;
struct 	udphdr   	t_udphdr;
struct 	pre_udphdr  pre_udphdr1;

Uint16	TxNetBuf[1518/2];
Uint16	RxNetBuf[1518/2];
Uint16	TxBufFlag;
Uint16	bnry,curr;

extern	int		ms;

void	InitProtocal(void);

void delay(int k)
{
   while(k--);
}

//==============================================================================
/**********************************************************************
**函數(shù)原型:    void  page(uchar pagenumber)
**入口參數(shù):   	Uint16	pagenumber: 要切換的頁
**出口參數(shù):		無
**返 回 值:	無      
**說    明:	選擇頁,可選擇0,1,2三頁,第四頁ne000兼容芯片保留 
************************************************************************/
void	page(Uint16	 pagenumber)
		{
			Uint16	temp;
			temp = Reg00;				//command register
			temp = temp&0x3B ; 			//注意txp位不能要
			pagenumber=pagenumber <<6;
			temp=temp | pagenumber;
			Reg00=temp;
		}

/**********************************************************************
**函數(shù)原型:     void 	Init8019()
**入口參數(shù):		無
**出口參數(shù):		無
**返 回 值:		無              
**說    明:		對芯片的工作寄存器進(jìn)行設(shè)置,各個寄存器的用法可參考文檔和
**				絡(luò)芯片的數(shù)據(jù)手冊
************************************************************************/
void	Init8019()
		{
			ms =0;
			while(ms<100);
/**********************************************************************

1.Reg00命令寄存器: CR,命令寄存器,地址偏移量00H,為一個字節(jié)
  位:  7   6   5   4   3   2   1   0 
名字: PS1 PS0 RD2 RD1 RD0 TXP STA STP 
//============================================
2.
RD2,RD1,RD0: 這3個位代表要執(zhí)行的功能。
 0   0   1 : 讀網(wǎng)卡內(nèi)存
 0   1   0 : 寫網(wǎng)卡內(nèi)存
 0   1   1 : 發(fā)送網(wǎng)卡數(shù)據(jù)包
 1   *   * : 完成或結(jié)束DMA的讀寫操作
//============================================
3.TXP位置1時發(fā)送數(shù)據(jù)包,發(fā)完自動清零
//============================================
4.
STA,STP:	這兩個位用來啟動命令或停止命令
 1   0 		啟動命令
 0   1 		停止命令
//============================================
********************************************************/
			Reg00=0x21;   //使芯片處于停止模式,這時進(jìn)行寄存器設(shè)置
			InitProtocal();
			ms = 0;
			while(ms<100); //延時100毫秒,確保芯片進(jìn)入停止模式
			page(0);
			delay(10);
			Reg0a= 0x00;   //清rbcr0
			delay(1);
			Reg0b= 0x00;   //清rbcr1
			delay(1);
			Reg0c= 0xe0;  //RCR,監(jiān)視模式,不接收數(shù)據(jù)包
			delay(1);
			Reg0d= 0xe2;  //TCR,loop back模式
			delay(1);
			Reg01= 0x4c;   //pstart = 0x4c
			delay(1);
			Reg02= 0x80;   //pstop = 0x80
			delay(1);
			Reg03= 0x4c;   //bnry = 4c
			delay(1);
			Reg04= 0x40;  //TPSR,發(fā)送起始頁寄存器
			delay(1);
			Reg07= 0xff;  //清除所有中斷標(biāo)志位,中斷狀態(tài)寄存器
			delay(1);
			Reg0f= 0x00;  //中斷屏蔽寄存器清0,禁止中斷
			delay(1);
			Reg0e= 0xc9;  // 數(shù)據(jù)配置寄存器,16位dma方式
			page(1);
			delay(10);
			Reg07= 0x4d;
			delay(1);
			Reg08= 0x00;
			delay(1);
			Reg09= 0x00;
			delay(1);
			Reg0a= 0x00;
			delay(1);
			Reg0b= 0x00;
			delay(1);
			Reg0c= 0x00;
			delay(1);
			Reg0d= 0x00;
			delay(1);
			Reg0e= 0x00;
			delay(1);
			Reg0f= 0x00;

    		Reg01= MAC_self.addr2_1;
    		Reg02= MAC_self.addr2_1>>8;
    		Reg03= MAC_self.addr4_3;
    		Reg04= MAC_self.addr4_3>>8;
    		Reg05= MAC_self.addr6_5;
    		Reg06= MAC_self.addr6_5>>8;

			page(0);
			delay(10);
			Reg0c= 0xce;  //將芯片設(shè)置成正常模式,跟外部網(wǎng)絡(luò)連接
			delay(1);			
			Reg0d= 0xe0;
			delay(1);
			Reg00= 0x22;  //啟動芯片開始工作
//-----------------------------------
			Reg07= 0xff;  //清除所有中斷標(biāo)志位
			ms = 0;
			while(ms<100);
		}

void 	InitProtocal(void)
		{
/*  server_ip=192.168.1.40  */

    		server_ipaddr.addr2_1  =192;
    		server_ipaddr.addr2_1 +=(Uint16)168<<8;
    		server_ipaddr.addr4_3  =1;
    		server_ipaddr.addr4_3 +=(Uint16)40<<8;

//192.168.1.1    
    		nod_ipaddr.addr2_1     =192;
    		nod_ipaddr.addr2_1    +=(Uint16)168<<8;
    		nod_ipaddr.addr4_3     =1;
    		nod_ipaddr.addr4_3    +=(1<<8);
    
    		t_iphdr.tos_version    =69;
    		t_iphdr.tos_version   +=(Uint16)0<<8;      //usally not use
    		t_iphdr.id =20;  //++IP_id;
    		t_iphdr.id +=(Uint16)52<<8;
    
    		t_iphdr.frag_off =0;
    		t_iphdr.protocal_ttl   =128;       //usally 32 or 64
    		t_iphdr.protocal_ttl +=(Uint16)17<<8;
    		t_iphdr.saddr =nod_ipaddr;
    		t_iphdr.daddr =server_ipaddr;
    //UDP PORT
    		t_udphdr.sport =1024; //1*256+0x08,9901
    		t_udphdr.dport =1025; //1*256+0x07,9901
    
    		pre_udphdr1.saddr=t_iphdr.saddr;
    		pre_udphdr1.daddr=t_iphdr.daddr;
    		pre_udphdr1.protocal_value  =0;
    		pre_udphdr1.protocal_value +=17<<8;  //UDP
// FF-FF-FF-FF-FF-FF    
    		MAC_broad.addr2_1   =255;
    		MAC_broad.addr2_1  +=(Uint16)255<<8;
    		MAC_broad.addr4_3   =255;
    		MAC_broad.addr4_3  +=(Uint16)255<<8;
    		MAC_broad.addr6_5   =255;
    		MAC_broad.addr6_5  +=(Uint16)255<<8;
    
//	02-E0-4C-A0-7E-7A    
    		MAC_self.addr2_1  =1<<1;
    		MAC_self.addr2_1  +=(Uint16)224<<8;
    		MAC_self.addr4_3  =76;
    		MAC_self.addr4_3  +=(Uint16)160<<8;
    		MAC_self.addr6_5  =126;
    		MAC_self.addr6_5  +=(Uint16)122<<8;

//  00-E0-4C-A0-7E-7A	    
	    	MAC_nod.addr2_1  =0;
    		MAC_nod.addr2_1  +=(Uint16)224<<8;
    		MAC_nod.addr4_3  =76;
    		MAC_nod.addr4_3  +=(Uint16)160<<8;
    		MAC_nod.addr6_5  =126;
    		MAC_nod.addr6_5  +=(Uint16)122<<8;
	}


//=============================================================================
/**********************************************************************
**函數(shù)原型:    void 		SendFrame(Uint16 *TxdNetBuff,Uint16  length)
**入口參數(shù):		Uint16    	*TxdNetBuff	:指向發(fā)送緩沖區(qū)
**              uint length					:發(fā)送數(shù)據(jù)包的長度
**出口參數(shù):		無
**返 回 值:	無              
**說    明:	發(fā)送數(shù)據(jù)包,以太網(wǎng)底層驅(qū)動程序,所有的數(shù)據(jù)發(fā)送都要通過該程序
************************************************************************/
void	SendFrame(Uint16	*TxdNetBuff,Uint16 length)
		{
			Uint16		i,ii;
		   	if(length<46/2)
       			{
          			for(i=length;i<60/2;i++)	TxNetBuf[i]=0;
          			length=60/2;
       			}
			
			page(0);
			delay(10);						//切換至第0頁
			length = length <<1;
			TxBufFlag=!TxBufFlag;			//設(shè)置兩個發(fā)緩區(qū),提高發(fā)送效率
			if(TxBufFlag)
				{Reg09=0x40 ;}				//設(shè)置發(fā)送頁地址
			else
				{Reg09=0x46 ;}				//設(shè)置發(fā)送頁地址
    
			Reg08=0x00; 					//read page address low
			delay(1);
			Reg0b = length >>8;				//寫發(fā)送長度高位
			delay(1);
			Reg0a = length & 0x00ff;        //寫發(fā)送長度低位  
			delay(1);
			Reg00=0x12;						//write dma, page0

			for(i=0;i<length/2;i++)
				{
					Reg10 = TxNetBuf[i];
   				}
/***************************************/
//以下為終止DMA操作
			Reg0b=0x00; 
			delay(1);
			Reg0a=0x00;
			delay(1);
			Reg00=0x22;			//結(jié)束或放棄DMA操作
			delay(1);
/***************************************/

			for(i=0;i<6;i++)	//最多重發(fā)6次
				{
					for(ii=0;ii<1000;ii++)

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美三级电影在线看| 337p亚洲精品色噜噜| 日本成人在线电影网| 国产精品萝li| 欧美r级在线观看| 色999日韩国产欧美一区二区| 老司机精品视频在线| **网站欧美大片在线观看| 精品国产电影一区二区| 欧美日本一区二区| 91色九色蝌蚪| 成人av网站在线观看免费| 日韩av在线发布| 亚洲国产另类av| 自拍偷拍亚洲综合| 国产精品丝袜黑色高跟| www精品美女久久久tv| 欧美妇女性影城| 欧美性xxxxxx少妇| 91视频一区二区三区| 成人福利视频网站| 国产xxx精品视频大全| 激情久久五月天| 成人avav影音| 国产宾馆实践打屁股91| 国产一区二区在线视频| 看电视剧不卡顿的网站| 五月婷婷综合激情| 天堂蜜桃91精品| 日韩福利电影在线观看| 亚洲va欧美va人人爽午夜| 亚洲综合在线五月| 一区二区在线观看免费| 一区二区三区高清| 亚洲一区二区五区| 亚洲国产成人高清精品| 亚洲国产精品久久不卡毛片 | 国产精品日韩精品欧美在线| 26uuu国产在线精品一区二区| 欧美成人官网二区| 精品嫩草影院久久| 久久美女高清视频| 国产女同互慰高潮91漫画| 欧美极品少妇xxxxⅹ高跟鞋| 国产欧美精品一区二区色综合| 国产欧美日韩另类视频免费观看| 日本一区二区三区国色天香 | 久久久美女毛片| 欧美极品aⅴ影院| 亚洲欧洲www| 一区二区三区蜜桃网| 亚洲国产精品自拍| 美国欧美日韩国产在线播放| 美腿丝袜在线亚洲一区 | 久久成人18免费观看| 国产乱码精品1区2区3区| 丰满亚洲少妇av| av电影在线观看一区| 在线观看亚洲成人| 日韩午夜精品电影| 国产欧美精品一区二区色综合| 国产精品短视频| 午夜精品123| 国产精品综合久久| 色播五月激情综合网| 欧美一区二区视频观看视频 | 天天亚洲美女在线视频| 久久er精品视频| 成人av午夜影院| 欧美日韩国产免费一区二区 | 国产精品卡一卡二| 亚洲在线中文字幕| 加勒比av一区二区| 欧美日韩在线播放三区| 久久日韩精品一区二区五区| 国产精品美女久久久久久久久 | 中文字幕一区二区三区在线观看 | 国产精品 日产精品 欧美精品| 9色porny自拍视频一区二区| 欧美日韩免费一区二区三区视频| 久久网站热最新地址| 一区二区三区精品在线观看| 国内精品自线一区二区三区视频| 一本一道综合狠狠老| 精品成人一区二区三区| 一区二区三区欧美日| 国产在线精品免费| 欧美日韩国产美| 中文字幕在线观看一区| 美女爽到高潮91| 欧美亚洲国产一区在线观看网站 | 久久久久亚洲蜜桃| 日韩高清在线不卡| 一本久久精品一区二区| 欧美精品一区二区三| 亚洲国产va精品久久久不卡综合| 国产精品99久久久久久久女警| 欧美日韩国产一级二级| 国产精品九色蝌蚪自拍| 精品一区二区在线视频| 欧美亚洲国产怡红院影院| 国产精品久久久久久久久久免费看| 青青国产91久久久久久| 欧美性一二三区| 中文字幕日韩精品一区| 国产一区二区成人久久免费影院| 欧美日韩国产在线播放网站| 亚洲人成在线播放网站岛国| 国产盗摄精品一区二区三区在线 | 中文子幕无线码一区tr| 激情另类小说区图片区视频区| 欧美三级电影一区| 亚洲欧美电影一区二区| 大桥未久av一区二区三区中文| 欧美一二三四区在线| 亚洲国产视频网站| 色哟哟一区二区在线观看| 中文字幕欧美一| 国产a精品视频| 国产日韩亚洲欧美综合| 国产在线播放一区| 欧美精品一区二区三区蜜臀| 日本不卡一二三| 日韩一卡二卡三卡国产欧美| 午夜欧美电影在线观看| 欧美日韩中文国产| 亚洲成av人片一区二区三区 | 国产喷白浆一区二区三区| 韩国女主播一区| 久久久久久久久蜜桃| 狠狠色狠狠色综合| 久久奇米777| 国产凹凸在线观看一区二区| 国产午夜亚洲精品羞羞网站| 国产激情91久久精品导航| 久久综合精品国产一区二区三区| 国模娜娜一区二区三区| 国产亚洲美州欧州综合国| 国产麻豆精品在线| 久久精品人人爽人人爽| 国产精品一区三区| 国产精品久久久久久久浪潮网站 | 久久精品国产在热久久| 精品久久免费看| 国产精品1区二区.| 国产女主播一区| 91视视频在线直接观看在线看网页在线看 | 婷婷国产v国产偷v亚洲高清| 欧美一区二区三区在线观看视频| 蜜臀av亚洲一区中文字幕| 日韩欧美精品在线视频| 国产99久久精品| 亚洲欧美日韩国产综合在线| 欧美日韩你懂的| 国产在线看一区| 国产精品国产精品国产专区不片| 欧美亚洲日本国产| 麻豆国产欧美日韩综合精品二区| 久久久久久99精品| 色婷婷精品久久二区二区蜜臀av| 视频一区国产视频| 久久久不卡网国产精品一区| 99久久精品国产麻豆演员表| 婷婷综合久久一区二区三区| 久久久国产精品不卡| 91老师国产黑色丝袜在线| 偷拍与自拍一区| 久久亚洲综合色| 欧美亚州韩日在线看免费版国语版| 久久精品久久精品| 中文字幕一区日韩精品欧美| 欧美肥大bbwbbw高潮| 春色校园综合激情亚洲| 亚洲大型综合色站| 国产日韩欧美精品一区| 欧美日韩在线播| 国产成人av一区二区三区在线观看| 亚洲综合图片区| 久久久久久久精| 欧美日韩综合在线免费观看| 韩国一区二区视频| 亚洲123区在线观看| 国产校园另类小说区| 欧美美女直播网站| 波多野结衣欧美| 久久99精品久久久久久动态图| 一区二区在线观看免费视频播放| 精品少妇一区二区三区视频免付费 | 欧美国产日韩一二三区| 欧美精品久久一区| 99综合电影在线视频| 喷水一区二区三区| 亚洲激情自拍偷拍| 久久久久亚洲蜜桃| 欧美一级精品大片| 欧美性一级生活| 99久久99久久免费精品蜜臀| 精品一二线国产| 天天操天天综合网| 一区二区三区在线免费视频|