您当前的位置:五五电子网电子知识单片机-工控设备嵌入式系统-技术LwIP协议栈在uCOS II下的实现 正文
LwIP协议栈在uCOS II下的实现

LwIP协议栈在uCOS II下的实现

点击数:7836 次   录入时间:03-04 11:48:07   整理:http://www.55dianzi.com   嵌入式系统-技术
}
主程序中创建了lwip_init_task初始化LwIP任务(优先级0)和usr_task用户任务(优先级20)。lwip_init_task任务中除了初始化硬件时钟和LwIP之外,还创建了tcpip_thread(优先级5)和tcpecho_thread(优先级6)。实际上tcpip_thread才是LwIP的主线程,多线程的Berkley API也是基于这个线程实现的,即上面的tcpecho_thread线程也要依靠tcpip_thread线程来与外界通信,这样做的好处是编程简单,结构清晰。
实用Berkley API实现的tcpecho_thread是一个TCP echo服务器,监听7号端口,程序框架如下:
void tcpecho_thread(void *arg){
conn = netconn_new(NETCONN_TCP);  //创建新的连接标识
netconn_bind(conn, NULL, 7);        //绑定到7号端口
netconn_listen(conn);                //开始监听端口
  while(1){
    newconn = netconn_aCCept(conn);        //接收外部到来的连接
    buf = netconn_recv(newconn)        //获取数据
    …….                            //处理数据
    netconn_write(newconn, data, len, NETCONN_COPY); //发送数据
    netconn_delete(newconn);            //释放本次连接
}
    }
    编译运行后,用PINg ip地址命令可以得到ICMP reply响应。用telnet ip地址 7(登录7号端口)命令可以看到echo server的回显效果。说明ARP、ICMP、IP、TCP协议都已正确运行。



上一页  [1] [2] 


本文关键字:暂无联系方式嵌入式系统-技术单片机-工控设备 - 嵌入式系统-技术