STM32F2xx的tcp_echoserver例程解说

/=====================================================================
//TITLE:
//    STM32F2xx的tcp_echoserver例程解说
//AUTHOR:
//    norains
//DATE:
//    Monday  04-July-2011
//Environment:
//    Keil MDK 4.2
//    STM32F207 核心版
//=====================================================================

     最近拿到STM32F207的核心版,板载有网卡芯片,自然要拿过来捣鼓一番。而对于一个从未接触过网络的菜鸟来说,最好的入门方式就是揣测ST公司的例程,所以今天norains也不例外。那么我们就一起来看看这个官方的例程吧!

    首先我们来了解C/S网络程序的工作流程,如图:

 


    这个图并不是norains所绘制的,而是网上流传的一个名为《TCP/IP Socket网络编程》的PPT所截取的。这个流程各位一定要熟悉,因为接下来所描述的例子流程,和该图例非常吻合。

    ST关于TCP的例程分为client和server,根据字面意思,可以知道tcp_echoserver例程是将STM32F2xx作为server来用。而例程的第一步呢,便是初始化,调用的是tcp_echoserver_init()函数。

    在tcp_echoserver_init()函数里,主要做了这么几件事情:
     1. 创建一个新的TCP协议控制块
     2. 绑定地址和端口号(port)
     3. 开始监听(listen)
     4. 设置accept的回调函数

    其完整代码如下:

[cpp]  view plain copy
  1. void tcp_echoserver_init(void)  
  2. {  
  3.   //创建一个新的TCP控制块  
  4.   tcp_echoserver_pcb = tcp_new();  
  5.   
  6.   if (tcp_echoserver_pcb != NULL)  
  7.   {  
  8.     err_t err;  
  9.       
  10.     //绑定到端口7  
  11.     err = tcp_bind(tcp_echoserver_pcb, IP_ADDR_ANY, 7);  
  12.       
  13.     if (err == ERR_OK)  
  14.     {  
  15.       //开始监听  
  16.       tcp_echoserver_pcb = tcp_listen(tcp_echoserver_pcb);  
  17.         
  18.       //设置tcp_echoserver_accept为accept的回调函数  <
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值