版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
本文格式为Word版,下载可任意编辑——51单片机上网RTL8019AS寄放器配置C源代码#include#include#include\
sbitRESET=P4^0;
typedefunsignedcharuchar;typedefunsignedintuint;
#defineTX_PAGES6
#defineNE_START_PG0x40//发送寄放器的首页地址#defineTX_START_PGNE_START_PG
#defineNE_STOP_PG0x60//接收寄放器环的末地址+1#defineRX_STOP_PGNE_STOP_PG//
#defineRX_START_PGNE_START_PG+TX_PAGES#defineRX_CURR_PGRX_START_PG+1//下面定义的是RTL8019AS特别寄放器#defineBASE_ADDRESS0x8000
#defineCRXBYTE[BASE_ADDRESS+0x0000]//设置CR寄放器地址#defineDMA_PORTXBYTE[BASE_ADDRESS+0x1000]//设置远程DMA端口#defineRESET_PORTXBYTE[BASE_ADDRESS+0x1800]//设置复位端口
//定义//定义PAGE0中的只读寄放器
#definePG0_CLDA0XBYTE[BASE_ADDRESS+0x0100]#definePG0_CLDA1XBYTE[BASE_ADDRESS+0x0200]#definePG0_BNRYXBYTE[BASE_ADDRESS+0x0300]#definePG0_TSRXBYTE[BASE_ADDRESS+0x0400]#definePG0_NCRXBYTE[BASE_ADDRESS+0x0500]#definePG0_FIFOXBYTE[BASE_ADDRESS+0x0600]#definePG0_ISRXBYTE[BASE_ADDRESS+0x0700]#definePG0_CRDA0XBYTE[BASE_ADDRESS+0x0800]#definePG0_CRDA1XBYTE[BASE_ADDRESS+0x0900]#definePG0_8019D0XBYTE[BASE_ADDRESS+0x0A00]#definePG0_8019D1XBYTE[BASE_ADDRESS+0x0B00]#definePG0_RSRXBYTE[BASE_ADDRESS+0x0C00]#definePG0_CNTR0XBYTE[BASE_ADDRESS+0x0D00]#definePG0_CNTR1XBYTE[BASE_ADDRESS+0x0E00]#definePG0_CNTR2XBYTE[BASE_ADDRESS+0x0F00]
//定义PAGE0中的只写寄放器
#definePG0_PSTARTXBYTE[BASE_ADDRESS+0x0100]#definePG0_PSTOPXBYTE[BASE_ADDRESS+0x0200]#definePG0_BNRYXBYTE[BASE_ADDRESS+0x0300]#definePG0_TPSRXBYTE[BASE_ADDRESS+0x0400]
#definePG0_TBCR0XBYTE[BASE_ADDRESS+0x0500]#definePG0_TBCR1XBYTE[BASE_ADDRESS+0x0600]#definePG0_ISRXBYTE[BASE_ADDRESS+0x0700]#definePG0_RSAR0XBYTE[BASE_ADDRESS+0x0800]#definePG0_RSAR1XBYTE[BASE_ADDRESS+0x0900]#definePG0_RBCR0XBYTE[BASE_ADDRESS+0x0A00]#definePG0_RBCR1XBYTE[BASE_ADDRESS+0x0B00]#definePG0_RCRXBYTE[BASE_ADDRESS+0x0C00]#definePG0_TCRXBYTE[BASE_ADDRESS+0x0D00]#definePG0_DCRXBYTE[BASE_ADDRESS+0x0E00]#definePG0_IMRXBYTE[BASE_ADDRESS+0x0F00]
//定义PAGE1读写寄放器
#definePG1_PAR0XBYTE[BASE_ADDRESS+0x0100]#definePG1_PAR1XBYTE[BASE_ADDRESS+0x0200]#definePG1_PAR2XBYTE[BASE_ADDRESS+0x0300]#definePG1_PAR3XBYTE[BASE_ADDRESS+0x0400]#definePG1_PAR4XBYTE[BASE_ADDRESS+0x0500]#definePG1_PAR5XBYTE[BASE_ADDRESS+0x0600]#definePG1_CURRXBYTE[BASE_ADDRESS+0x0700]#definePG1_MAR0XBYTE[BASE_ADDRESS+0x0800]#definePG1_MAR1XBYTE[BASE_ADDRESS+0x0900]#definePG1_MAR2XBYTE[BASE_ADDRESS+0x0A00]#definePG1_MAR3XBYTE[BASE_ADDRESS+0x0B00]#definePG1_MAR4XBYTE[BASE_ADDRESS+0x0C00]#definePG1_MAR5XBYTE[BASE_ADDRESS+0x0D00]#definePG1_MAR6XBYTE[BASE_ADDRESS+0x0E00]#definePG1_MAR7XBYTE[BASE_ADDRESS+0x0F00]
//定义PAGE2只读寄放器
#definePG2_PSTARTXBYTE[BASE_ADDRESS+0x0100]#definePG2_PSTOPXBYTE[BASE_ADDRESS+0x0200]#definePG2_TPSRXBYTE[BASE_ADDRESS+0x0400]#definePG2_RCRXBYTE[BASE_ADDRESS+0x0C00]#definePG2_TCRXBYTE[BASE_ADDRESS+0x0D00]#definePG2_DCRXBYTE[BASE_ADDRESS+0x0E00]#definePG2_IMRXBYTE[BASE_ADDRESS+0x0F00]//定义PAGE3寄放器
#definePG3_9346CRXBYTE[BASE_ADDRESS+0x0100]#definePG3_CONFIG0XBYTE[BASE_ADDRESS+0x0300]#definePG3_CONFIG1XBYTE[BASE_ADDRESS+0x0400]#definePG3_CONFIG2XBYTE[BASE_ADDRESS+0x0500]#definePG3_CONFIG3XBYTE[BASE_ADDRESS+0x0600]#definePG3_CONFIG4XBYTE[BASE_ADDRESS+0x0D00]
//以下是特别寄放器的位定义//CR寄放器
#definestop_cmd0x01//中止接受或发送数据#definestart_cmd0x02//启动接受或发送数据#definetxp0x04//发送数据#defineno_dma0x00//阻止DMA
#defineread_dma0x08//允许远程DMA读#definewrite_dma0x10//允许远程DMA写#definesend_pck0x18//发送数据
#defineabort_dma0x20//退出/完成远程DMA#definepage00x00//PAGE0选择#definepage10x40//PAGE1选择#definepage20x80//PAGE2选择#definepage30xc0//PAGE3选择
//ISR中断状态寄放器
#defineisr_prx0x01//无错误接受数据包#defineisr_ptx0x02//无错误发送数据包
#definerxe0x04//接受数据包带有如下错误:CRC错误、包丢失错误以及帧队列错误
#definetxe0x08//过分冲突导致传输错误#defineovw0x10//接受缓冲器溢出
#definecnt0x20//当一个或多个网络计数器的MSB设置完成时该位被设置。#definerdc0x40//远程DMA操作完成#definerst0x80//复位
//DCR数据结构寄放器
#definewts0x01//字长的DMA传送
#definebos0x02//传送过程中高位放到MD15-8,低位放到MD7-0#definelas0x04//16位DMA传送模式#definels0x08//回路检测,正常操作
#definearm0x10//自动初始化远程操作,发送包命令执行#definefifo000x00//2字节#definefifo010x20//4字节#definefifo100x40//8字节#definefifo110x60//12字节
//TCR传输配置寄放器
#definetcr_config0x00//设置将要配置TCR寄放器的值#definetcr_crc0x00//CRC正常操作#definelb000x00//正常操作
#definelb010x02//内部LOOKBACK
#definelb100x04//外部LOOKBACK#definelb110x06//外部LOOKBACK#defineatd0x08//多播地址混乱接受#defineofst0x10//冲突补偿
//TSR传送状态寄放器
#definetsr_ptx0x01//无错误接收数据
#definecol0x04//数据传输过程中出现冲突#defineabt0x08//超频导致传送失败
#definecrs0x10//传送数据包时,有包丢失#definecdh0x40//#defineowc0x80//
//RCR接受配置寄放器
#definercr_config0x04//设置将要配置的RCR寄放器的值#definesep0x01//允许错误数据包被接受
#definear0x02//允许帧长度小于64bytes的数据包被接受#defineab0x04//允许广播地址帧数据包被接收#defineam0x08//允大量播地址数据包被被接收
#definepro0x10//允许所有具有目的地址数据包被接收#definemon0x20//
//RSR接受状态寄放器
#definersr_prx0x01//无错误接受数据标志#definers
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 领导服务保障工作制度
- 高速联勤联动工作制度
- 松原市宁江区2025-2026学年第二学期三年级语文第八单元测试卷(部编版含答案)
- 铁岭市开原市2025-2026学年第二学期四年级语文期末考试卷(部编版含答案)
- 鹰潭市余江县2025-2026学年第二学期四年级语文期末考试卷(部编版含答案)
- 保山地区昌宁县2025-2026学年第二学期五年级语文期末考试卷(部编版含答案)
- 氧化铝焙烧工安全文明考核试卷含答案
- 锅炉本体检修工岗后竞赛考核试卷含答案
- 蜡油渣油加氢工安全管理测试考核试卷含答案
- 园林植保工操作规程竞赛考核试卷含答案
- 雨课堂学堂在线学堂云安全科学原理(中南大学)单元测试考核答案
- 2026年黑龙江省公务员考试《行测》试题题库(答案+解析)
- 航空货运自查制度规范
- 统编版(2024)七年级上册历史第2课 原始农业与史前社会 素养提升教案
- 喉癌课件讲解
- 金属非金属矿山重大事故隐患判定标准
- 金华人工浮岛施工方案
- 十年(2016-2025)高考化学真题分类汇编:专题50 有机推断综合题-结构半知型+信息(原卷版)
- 人形图护理查房制作流程
- 黄山团建活动方案
- 2025湖北交投集团部分中层管理岗位竞聘上岗20人考前自测高频考点模拟试题及答案详解一套
评论
0/150
提交评论