推荐星级:
  • 1
  • 2
  • 3
  • 4
  • 5

《51单片机C语言应用程序实例精讲》代码

更新时间:2019-11-18 09:31:40 大小:11M 上传用户:sun2152查看TA发布的资源 标签:51单片机C语言 下载积分:0分 评价赚积分 (如何评价?) 收藏 评论(6) 举报

资料介绍

/产初始化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语言应用程序实例精讲》代码.pdf 11M

全部评论(6)

  • 2021-06-19 16:53:31wuzuizhibin

    资料内容适用,谢谢分享

  • 2020-04-18 09:18:05十三诸侯

    谢谢分享

  • 2019-12-20 13:38:54lyl_420819

    学习了,谢谢分享。

  • 2019-12-06 11:09:38hg316

    谢谢楼主分享!

  • 2019-11-28 14:55:23rotga

    很详细,基本是逐行注释的,对于初学者很有帮助