导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→C51编程:请教老古[lioncy]

 *第4928篇: C51编程:请教老古

  
楼 主:lioncy 2002年9月11日12:02
 C51编程:请教老古
您好:
    我的硬件电路是您网站上面的电路。
    在keil C中,我的C51程序按照您说的:延时,初始化之后。
    接下来我的程序是想将page1中的reg01,reg02,reg03,reg04,reg05,reg06设置
成:0x52,0x54,0x4c,0xC5,0x60,0xB0;然后通过串口读到计算机。
   程序如下:
   void writemynodeid()

page(1);
reg01=0x52; //PAR0
reg02=0x54; //PAR1
reg03=0x4c; //PAR2
reg04=0xc5; //PAR3
reg05=0x60; //PAR4
reg06=0xB0; //PAR5
}
主程序是这样的:main()
{
 delay(1000);
 netcardreset();
 ne2000init();
 writemynodeid();
 TMOD=0x20;
  TL1=0xfd;
  TH1=0xfd;
  SCON=0x50;
  PCON=0x00;
  TR1=1;
  page(1);
  while(1)
  { SBUF=reg01;
   while(TI==0);
   TI=0;
    SBUF=reg02;
   while(TI==0);
   TI=0;
    SBUF=reg03;
   while(TI==0);
   TI=0;
    SBUF=reg04;
   while(TI==0);
   TI=0;
    SBUF=reg05;
   while(TI==0);
   TI=0;
    SBUF=reg06;
   while(TI==0);
   TI=0;
}
}
结果我通过串口读出来的数是:00 4C 4C 00 00 82;有时是别的数据。都不是我刚刚学入的
数据。
另外:我还将62256中的arp数据包(42个字节,不够60个网卡会自动我我们加上吧??)通
过remoteDMA送到0x4000单元,然后remote读回来通过串口到计算机上,也不是一串错误的
东西。(注:我已经试过直接将62256中的改arp数据包通过串口验证一下,数据显示是正确
的)
现在问题好像是读写网卡的都出错了!(地址线,数据线我都测试过了)
请您赐教!非常感谢!
  
2楼:老古 2002年9月12日11:00
 你的网卡的i/o地址是不是240。
  
3楼:lioncy 2002年9月12日14:24
 给老古先生
我的IO地址是240没有错。
  
4楼:老古 2002年9月13日17:24
 你的问题看来象是网卡坏了
  
5楼:lioncy 2002年9月17日20:34
 谢谢老故
问题发现了,一条地址线不通。很感谢你。

>>>>>>对该主题发表你的看法

本主题贴数5,分页: [第1页]


[上一篇主题]:AVR单片机:guest

[下一篇主题]:初学者:双端口RAM