2525|0

65

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

问一个以太网驱动问题,请高手解答 [复制链接]

周立功的tcp/ip代码里的hardware.c里rec_packet函数里有这么一段

if(bnry!=curr) //此时表示有新的数据包在缓冲区里

{ //在任何操作都最好返回page0

if(REC_BUFF_NUM==MAX_REC_BUFF)//接收缓冲区号清零

{

REC_BUFF_NUM=0;

}

REC_BUFF_PTR_WORDS=REC_BUFF[REC_BUFF_NUM].words;//设定接收缓冲区的起始地址

//=======================================

WriteToNet(0x09,bnry); //RSAR1写入读页地址的高字节

WriteToNet(0x08,0x00); //RSAR0写入读页地址的低字节

WriteToNet(0x0b,0x00); //RSCR1写入读取字节计数高字节

WriteToNet(0x0a,18); //RSCR0写入读取字节计数高字节

WriteToNet(0x00,0x0a); //启动Remote DMA读操作

//读取一包的前4个字节:4字节的8019头部

for(i=0;i<2;i++)

{

*REC_BUFF_PTR_WORDS=ReadFromNet(0x10);

tmp=*REC_BUFF_PTR_WORDS;

REC_BUFF_PTR_WORDS++;

}

//0:接收状态;1:下一包的指针;2:本包低位;3:本包高位;

//=======================================中止DMA操作

WriteToNet(0x0b,0x00); //RSCR1写入读取字节计数高字节

WriteToNet(0x0a,0x00); //RSCR0写入读取字节计数高字节

WriteToNet(0x00,0x22); //结束或放弃DMA操作

//=======================================

tmp[1]=tmp[1]-4;//去掉4个字节的CRC

REC_BUFF[REC_BUFF_NUM].words[1]=tmp[1]; //把真正的接收的帧的长度保存到缓冲区

//=====================以上各步操作表示读入的数据包有效

//0:接收状态;1:下一包的指针;2:本包高位;3:本包低位;

if(((tmp[0]&0x0001)==0)||((tmp[0]&0xff00)>0x7f00)

||((tmp[0]&0xff00)<0x4c00)||(tmp[1]>0x0600))

{//接收状态错误或下一数据包的起始页地址错误或接收的数据包长度>1536字节

page(1);

curr=ReadFromNet(0X07); //page1读取CURR的值

page(0); //切换回page0

bnry = curr -1; //把bnry恢复为下16K中的空余部分

if(bnry < 0x4c)

{

bnry =0x7f;

}

WriteToNet(0x03,bnry); //把BNRY恢复到指向下一帧write to bnry

WriteToNet(0x07,0xff); //清除中断标志

//goto rea1;

OS_EXIT_CRITICAL();

return(0);

请问,那个tmp接受到的是什么数据?是以太帧的前两个字节吗?tmp[1]=tmp[1]-4;为什么是去掉4个字节的CRC?难道tmp[0]和tmp[1]包括了整个数据帧的全部?

点赞 关注
个人签名www.e-eway.com

回复
举报
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表