这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 综合技术 » 基础知识 » ZLG,IP 关于ZLG/IP

共2条 1/1 1 跳转至

ZLG,IP 关于ZLG/IP

院士
2006-09-17 18:14:16     打赏
ZLG,IP 关于ZLG/IP



关键词: 关于    

院士
2006-12-22 22:43:00     打赏
2楼
问 大家都在说ZLG/IP有问题.
而像我这样对ZLG的依赖性很大的人来说,用ZLG/IP就是不用考虑的选择(没有能力和精力去选择别的CPU和TCP/IP协议栈).我想像我这样的人可能不在少数.
大家看看,能不能互相帮助,把ZLG/IP改造好,主要是把已有的源代码中的错误找出来,利人利已.
贴一个前人找到的错误(网友lizhenARM):
源代码在Ethernet.c文件的Rec_Packet函数中:
----
            WriteToNet(0x0b,tmp[0]
      //RSCR1写入读取字节计数高字节//read count high
            WriteToNet(0x0a,tmp[1]);    
         //RSCR0写入读取字节计数低字节//read count low;
应更改为:
        WriteToNet(0x0b,tmp[1]>>8&0x00ff);  
    //RSCR1写入读取字节计数高字节//read count high
            WriteToNet(0x0a,tmp[1]&0x00ff);    //RSCR0写入读取字节计数低字节//read count low;
---
我也找了一个,不知对不对:
源代码在IP.c文件的IP_PROCESS()函数中
----
uint8 IP_PROCESS(uint8 * RecData,uint8 num)
{
static temp=0;
   ---
   ---
    temp++;
    if(temp>=MAX_REC_BUFF)
        temp=1;
   ---  
   ---
在这个函数中,局部变量temp不可能大于MAX_REC_BUFF,因为在进入函数时已将temp清0了.所以TEMP没有存在的意义的
------
1: !static temp=0;


有意义,temp是静态局部变量(static),它和全局变量差不多,只是它只能局部访问! 2: ???楼主搞错了这个变量的用法了 3: 是啊!谢谢了!读书,不认真啊! 4: -在用ZLG/IP时出现两个问题:
背景: 只用TCP任务.用开发板做客户机,PC做服务器.

1  只调用一次Arp_Request()无法获得对的MAC
2  连续传数会掉线,用ENTHERREAL抓包查看,双方并没有关掉连接,那应是应答出了问题.

高手能指点一下,怎样进行改进吗?
周公说ZLG/IP只要稍加修改就可实用,看来还要再努力啊! 5: 我第一次尝试tcp不是很成功zlgip代码写的很乱,后来我改用zlip 6: 是校验和出错,正在想,出错了怎么办? 7: --    while(ExPtr!=NULL)
    {
        /*
            写数(IP,TCP,DATA)
            问题: 如果数据为单个的怎么办????
        */
        TEPTR = ExPtr->DAPTR;
        for(ii=0;ii<((ExPtr->length+1)/2);ii++)
        {
            send_buff.bytes[0] = *TEPTR;
            TEPTR++;
            send_buff.bytes[1] = *TEPTR;
            TEPTR++;
            WriteToNet(0x10,send_buff.words);
        }
        ExPtr = ExPtr->STPTR;
    }    

如果发的数是单个的怎么办,这个段代码,没看懂,有人能指点一下吗?

共2条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]