/产初始化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
上传用户: