导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→发表看法:[hysi2005]哪位大哥作过用8019做以太网通讯的啊 



No.100101
作者:hysi2005
邮件:wut1984@sohu.com
ID:64422
登陆:1次
文章数:1篇
最后登陆IP:61.183.72.25
最后登陆:2006/11/30 10:16:06
注册:2006/11/30 10:12:20
财富:105
发帖时间:2006/11/30 10:16:06
发贴者IP:61.183.72.25
标题:hysi2005:哪位大哥作过用8019做以太网通讯的啊 看看我这个程序有什么问题啊
摘要:No.100101哪位大哥作过用8019做以太网通讯的啊 看看我这个程序有什么问题啊 这个只是UDP发送的程序 直接调试板子和PC之间的通讯
#include   <reg51.h>  
#include   <absacc.h>  
#define uchar unsigned char
#define uint unsigned int

#define reg00 XBYTE [0x8000]
#define reg01 XBYTE [0x8100]
#define reg02 XBYTE [0x8200]
#define reg03 XBYTE [0x8300]
#define reg04 XBYTE [0x8400]
#define reg05 XBYTE [0x8500]
#define reg06 XBYTE [0x8600]
#define reg07 XBYTE [0x8700]
#define reg08 XBYTE [0x8800]
#define reg09 XBYTE [0x8900]
#define reg0a XBYTE [0x8a00]
#define reg0b XBYTE [0x8b00]
#define reg0c XBYTE [0x8c00]
#define reg0d XBYTE [0x8d00]
#define reg0e XBYTE [0x8e00]
#define reg0f XBYTE [0x8f00]
#define reg10 XBYTE [0x9000]
#define reg11 XBYTE [0x9100]
#define reg12 XBYTE [0x9200]
#define reg13 XBYTE [0x9300]
#define reg14 XBYTE [0x9400]
#define reg15 XBYTE [0x9500]
#define reg16 XBYTE [0x9600]
#define reg17 XBYTE [0x9700]
#define reg18 XBYTE [0x9800]
#define reg19 XBYTE [0x9900]
#define reg1a XBYTE [0x9a00]
#define reg1b XBYTE [0x9b00]
#define reg1c XBYTE [0x9c00]
#define reg1d XBYTE [0x9d00]
#define reg1e XBYTE [0x9e00]
#define reg1f XBYTE [0x9f00]
//
struct eth_head
{
uchar dest_eth_addr[6];
uchar src_eth_addr[6];
uchar type;
};
struct ip_head
{
uchar vhl;
uchar tos;
uchar len;
uchar id;
uchar offset;
uchar ttl;
uchar protocol;
uchar chksum;
uchar dest_ip_addr[4];
uchar src_ip_addr[4];
};
struct udp_head
{
uchar srcport;
uchar destport;
uchar len;
uchar chksum;
uchar msg_data;
};
//
sbit reset=P1^1;
//
uchar code eth_addr[6]={0x2b,0x5d,0x46,0xa5,0x66,0xa8};
uchar code ip_addr[4]={192,168,1,102};
uchar code dest_ip_addr[4]={192,168,1,45};
uint hostport=10001;
uchar xdata udp_send_buff[1518];
uchar xdata udp_src_buff[1518];
bit txd_buffer_select;
//
void memspy(uchar *buf1,uchar *buf2,uint time)
{
uint t;
for(t=0;t  <time;t++)
  {
  buf1[t]=buf2[t];
  }
  return;
}
//延时
void late1()
{
uint i;
for(i=30000;i>  0;i--);
}
//延时
void late2()
{
uchar i;
for(i=300;i>  0;i--);
}
//8019复位
void rst_8019()
{reset=1;
 late1();
 reset=0;
 late1();
}
//选择寄存器页面
void pagechoice(uchar pagenumber)
{uchar temp;
 temp=reg00;
 temp=temp&0x3b;
 pagenumber=pagenumber  <  <6;
 temp=temp|pagenumber;
 reg00=temp;
}
//ne2000初始化
void ne2000init()
{rst_8019();
 reg00=0x21;
 late2();

 pagechoice(1);

 ......

>>返回讨论的主题



  发表回复
用户名   *您没有注册?
密码   *
验证码   * .
标题   *
心情
随便说说    我回答你    最新发现    得意的笑   
气死我了    真是没劲    坚决同意    表示反对   
大家过来    好奇怪哟    懒得理它    大家小心   
文件上传
内容


字体:      字体大小:    颜色:
粗体 斜体 下划线 居中 超级连接 Email连接 图片 Flash图片 Shockwave文件 realplay视频文件 Media Player视频文件 QuickTime视频文件 引用 飞行字 移动字 发光字 阴影字 查看更多的心情图标 背景音乐
点击加入表情
                         
选项
有回复时用短消息通知您?

   




老古网执行:16毫秒 最大:3781毫秒 查询6次