导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→发表看法:[wsfeitian]以太网发送一个数据包程序中的疑问.



No.54286
作者:wsfeitian
邮件:wsfeitian@yahoo.com.cn
ID:20382
登陆:2次
文章数:31篇
最后登陆IP:202.103.243.118
最后登陆:2004/6/10 10:17:57
注册:2004/4/19 21:17:01
财富:232
发帖时间:2004/5/11 18:59:51
发贴者IP:202.103.243.98
标题:wsfeitian:以太网发送一个数据包程序中的疑问.
摘要:No.54286以太网发送一个数据包程序中的疑问. 
void send_frame(uchar xdata * outbuf, uint len)/*发送一个数据包的命令,长度最小为60字节,最大1514字节*/
{
uchar i;
uint ii;
 page(0);
 if(len  <60)len=60;
 txd_buffer_select=!txd_buffer_select;
   if (txd_buffer_select)
  reg09=0x40 ; //txdwrite highaddress
 else
        reg09=0x46 ; //txdwrite highaddress
 reg08=0x00;   //read page address low
 reg0b=len>  >  8;  //read count high
 reg0a=len&0xff;  //read count low;
 reg00=0x12;   //write dma, page0
 for (ii=4;ii  <len+4;ii++) //for (ii=4;ii  <len+4;ii++)  //是否加4有待验证
 {
    reg10=*(outbuf+ii);  
 }

 /* 以下3句为中止dma的操作,可以不要            */
 reg0b=0x00;  //read count high   中止DMA操作
 reg0a=0x00;  //read count low;
 reg00=0x22;  //complete dma page 0

 for(i=0;i  <16;i++) //最多重发16次
 {
  for(ii=0;ii  <1000;ii++) //检查txp为是否为低
  {
   if ((reg00&0x04)==0) break;
  }
  if ((reg04&0x01)!=0) break; //表示发送成功
  reg00=0x3e;
 }

 for(i=0;i  <16;i++) //最多重发16次
 {
  for(ii=0;ii  <1000;ii++) //检查txp为是否为低
  {
   if ((re ......

>>返回讨论的主题



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


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

   




老古网执行:9毫秒 最大:5186毫秒 查询6次