/產初始化RTL8019AS,PAGE2寄存器只讀,PAGE3寄存器不是NE2000兼容的,均不用設置材/使用0x40-0x4b為網卡的發送緩沖區,共12頁,剛好存儲2個最大的以太網數據包。使用0x4c-0x7f為網卡的接收緩沖區,共52頁,因此PSTART=0x4c,PSTOP=0x80(0x80為停止頁,接收緩沖區直到Ox7f,不包括0x80),剛開始時,網卡沒有接收到任何數據包,因此BNRY設置為指向第一個接收緩沖區的頁0x4c)*/void RTL8019lnitO REG00=0×21;/選擇頁0的寄存器,網卡停止運行,因為還沒有初始化REGO1=Ox4c;/寄存器PSTART,設置接收緩沖區的起始頁的地址REG02=0×80;/寄存器PSTOP,設置接收緩沖區的結束頁的地址REG03=0x4c;//寄存器BNRY,設置為指向第一個接收緩沖區的頁Ox4c(用作讀指針)REG04=0x40;/寄存器TPSR.發送起始頁地址初始化為指向第一個發送緩沖區的頁REGOx=0xce;/*接收配置寄存器RCR,設置為僅接收自己地址的數據包以及廣播地址和多點播送地址數據包,小于64字節的包丟棄,校驗錯的數據包不接收材REG0d=0xe0;/發送配置寄存器TCR,設置為啟用crc自動生成和校驗,正常模式工作REG0e=0xc8;/*數據配置寄存器DCR,設置為使用FIFO緩存,普通模式,8位數據傳輸,字節順序為高位字節在前,低位字節在后*制REGOf=0x00;/中斷屏蔽資存器IMR,設置為屏蔽所有中斷SelectPage(l);/選擇頁l的寄存器REG07-0x4d;/寄存器CURR.設置為指向當前正在寫的頁的下一頁(用作寫指針)
標簽:
51單片機
C語言
上傳時間:
2022-06-24
上傳用戶: