导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→C51编程:老古,请教您读网卡SRAM的问题

* 1831: C51编程:老古,请教您读网卡SRAM的问题

   dirty 
dirty发表的帖子 

 C51编程:老古,请教您读网卡SRAM的问题
老古大侠,我用的一块DM9008的ISA网卡,目前插在PC机上,在DOS环境下用C语言对其编
程,准备调试好以后再移植到单片机上。
网卡复位,初始化,读取设置MAC地址都是完全按照您《单片机与ISA总线以太网解决方案》
一文介绍的方法进行的,我的理解,这时网卡应该可以接收包了,因为没实现任何协议,只
能接收广播包,监测CURR(当前接收页)与BNRY(最后一个已经读取的页)的差值,如果大于
1 应该有包进来,这时候就开始从RAM里读取包,读取包的程序我基本也是按你读取MAC地址
的程序进行的,只不过把RSAR1设为要读取的页,比如0x4c,把RBCR1设为1,RBCR0设为0,
读取256个数据,不知道这样的思路是否有问题。
目前问题是,我读出的所有数据,读出来单和双地址内容总是一样的,总是成对出现,和读
MAC地址的情况一样。附上我读数据的程序:
void ReadPage(uchar data[],int PageNumber){
    int i;
    int temp;
    SetPage(0);//即你的程序里的page函数 
    outp(0x249,PageNumber);
    outp(0x248,0);
    outp(0x24b,1);
    outp(0x24a,0);
    outp(0x240,0x0a);
    for(i=0;i<=255;i++){
        temp=inp(0x250);

        data[i]=temp;
        //data[2*i+1]=temp/0x100;
        //printf("data[%d] = %d\n",i,data[i]);
    }
}
void ReadData(uchar data[],int StartPage,int EndPage){
    for(int i=StartPage;i<=EndPage;i++){
        ReadPage(data,i);
        data=data+0x100;
    }
}

发表时间:2001年10月17日15:24:00

  
回复该帖

本主题共有 7 帖,分页:>>>>>该主题的所有内容[7]条

 *树形目录 只列出部分跟帖的标题以及简单的摘要信息 该主题的部分跟帖如下:

  1832.[详细]老古,多谢你帮忙了
摘要:上面文章是我发的,刚才我没申请ID。 不知道是读的问题,还是根本没接收到包。能不能把你读取和发送数据的子程序给我参考一 下,jiangy@bme.tsinghua.edu.cn,其余编写协议我都可以自己完成,多谢了......(107字)
- [onliner][2208次] 2001年10月17日

  1844.[详细]老古老古,终于等到你上来了,点拨一二吧
摘要:谢谢了,:)......(6字)
- [onliner][1898次] 2001年10月17日

  1915.[详细]老古,问题部分解决了,不过还有问题
摘要:    多谢您的提醒,我把我的网卡扩充的36线用布包了插入PC机的ISA槽,再运行我的程 序,读入数据好象正常了。因为没写任何协议,读入的肯定都是广播包,我读入的数据情况 如下,第......(379字)
- [onliner][2081次] 2001年10月19日

[上一篇帖子]:老古,多谢你帮忙了上面文章是我发的,刚才我没申请ID。 不知道是读的问题,还是根本没接收到包
[下一篇帖子]: 老古大虾,帮忙一下了。