//=====================================================================
//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的回调函数
其完整代码如下:
当客户端开始连接之后,那么被设置的tcp_echoserver_accept()回调函数就会被调用。该函数主要是创建一个新的数据结构,并且将该数据结构传递给底层的TCP,最后分别是设置receive,error和poll这三个回调函数。
tcp_echoserver_accept()代码如下所示:
接下来便是tcp_echoserver_recv()这个回调函数,因为该函数比较大,这里就不再全部罗列代码了。对于使用者来说,只需要知道相应的判定条件来代表什么意思就足够了,如:
STM32F207的代码部分就暂时说到这里,现在的问题是,如何测试这代码的正确性呢?这就必须用到ST提供的echotool.exe程序了。该程序位于stm32f2x7_eth_lwip的PC_Software文件夹中。该程序必须在命令行打开,其大致参数如下所示:
如果我们的serverip地址为192.168.0.8,那么可以输入如下命令进行测试:
echotool.exe 192.168.0.8 /p tcp /r 7 /n 15 /t 2 /d Testing LwIP TCP echo server
如果网络联通的话,测试成功将如下如下的画面,如图:
分享到:
相关推荐
本例简要描述了如何将JTAG/SWD IOs用作标准并给出一个配置序列。注意,一旦JTAG/SWD IOs被禁用,与主机调试器的连接就是丢失,只要JTAG/SWD IOs保持禁用状态,就无法重新建立。为了避免这种情况,按键按钮用于禁用或...
STM32F0XX教程+例程源码 教程目录: 工程篇:搭建KEIL-MDK开发平台及制作MDK工程文件模板.pdf 资料篇-NUCLEO-072RB开发板特性讲解及资料准备.pdf 初级教程篇:按键(中断方式)实现24C04存储器内容读写.pdf 初级教程...
基于STM32微控制器的固件库例程,使我们学习的好帮手。
STM32L0系列例程文档中文 官方提供的SDK、包中的例程说明
中景园电子0.96OLED显示屏_STM32ZET系列_SPI_例程,中景园电子0.96OLED显示屏_STM32ZET系列_SPI_例程。
STM32F4xx标准例程,含跑马灯,按键,串口,中断等
STM32Cube_FW_G4_V1.1.0例程,驱动包单独上传。方便下载。
STM32F1xxHAL库文件库函数,例程,文档说明。
最新固件库 STM32F0xx_StdPeriph_Lib_V1.5.0.
stm32f2xx_stdperiph_lib.zip STM32F2XX最新固件库
0.96OLED显示屏_STM32SPI_例程,亲测OK
Version: 1.2.0 (2020-08-03) Keil.STM32G4xx_DFP.1.2.0.pack Added devices: STM32G491xxxx, STM32G4A1xxxx and STM32G483xx series. STM32G474Px/STM32G484Px/STM32G473Px/STM32G483Px BGA121 variants. STM32G...
资料是可以用来学习和交流的代码,对于想要了解FPGA开发的读者是有用的
stm32f4_dsp_stdperiph_lib1.5.0(标准库1.5版含例程),ST官网只放最新版本的,但有时候需要一些老版本的就下载不到很不方便
Driver for OLED screen used by STM32f103
主要是 STM32F030 的 14 个例程
STM32_W5500_HTTP例程_STM32_W5500_HTTP例程_w5500_源码.zip
最新STM32F0xx系列固件库 V1.5.0 带全部外设的官方例程
中景园0.96寸oled例程,四针,IIC接口stm32历程
stm32f103系列标准库工程。包含20多个例程。