设为首页 | 加入收藏 | 中文 | English
 
产品搜索:
 
网站首页     ZLIP介绍   SDK开发板   ZLIP功能  ZLWeb功能 串口服务器   版权信息     购买方法  友情链接
ZLIP功能  ZLIP function
 
uc/os-II中的ZLIP  ZLIP in uc/os-II 您现在的位置→ZLIP功能  

    ZLIP从增值版V1.0开始支持在uc/os-II下运行。uc/os-II的多任务机制使得ZLIP的各个套接字能够在相互独立的任务中运行,减少了编程的复杂度。

实例程序

    打开开发板文档“代码\UseZLIP\UCOSII\ZLIP_UCOS.Uv2”,该工程中包含有uc/os-II部分、ZLIP部分和例子程序socket_test_ucosii.c。在例子程序中实现两个任务:接收任务和发送任务。接收任务用于接收PC发来的文件,发送任务不断向PC发起连接,一旦连接后将每隔1秒钟向PC发送数据。由于发送任务优先级高于接收任务,所以只要一秒时间间隔到了,接收任务会被打断,执行发送任务,发送完毕后又会执行接收任务。

    在板子上运行该程序。
1. 串口提示:

start
TODO:Peer TCP should listen at 192.168.0.3:1024
peer connect to 192.168.0.2:1024 at any timeand send big data.

2. 打开SocketTestDlg程序,Send mode选择Send Message,并在1024端口监听。板子会在15秒之内连接上SocketTestDlg,连接上后,板子每隔1秒向SocketTestDlg发送1字节数据,SocketTestDlg可以接收到该数据,如图所示:

3. 再运行一个SocketTestDlg实例,向192.168.0.2:1024端口连接。之后使用ClientSend发送一个文件给开发板。发送完毕以后使用ClientClose关闭连接。通过SocketTestDlg输出的校验和和串口输出的校验和可以确定文件发送无误。

4. 观察第一个SocketTestDlg实例的输出信息可知在板子接收文件的同时,每隔1秒继续向PC发送数据。

该例子演示了,如何使用ZLIP和uc/os-II同时运行两个独立的通信任务。

程序部分代码

main()
{
    struct zlip_addr_info xdata addr_info=
    {
        ETHER_ADDR,
        IPAddr,
        NetMask,
        GateWay
    };
    ZLIP_Init(&addr_info);
    OSInit();
    printf("\nstart");
    OSTaskCreate(Task_recv, (void xdata *)0, &Task_recv_stack[0],3);
    OSTaskCreate(Task_send, (void xdata *)0, &Task_send_stack[0],2);
    OSStart();
    ZLIP_Release();
    return TRUE;
}





   
 
   沪ICP备11004689号   版权所有@上海卓岚信息科技有限公司   Design by infoo.cn