前言

学习stm32 以太网接口使用,及LWIP使用,用LWIP快速实现一个UDP网络通信功能, 学会基本LWIP的网络数据接收与发送功能,让初学者了解lwip(关于Lwip更多的功能介绍将会在后期的STM32 中级教程中介绍)。

示例详解

基于硬件平台: MCU 的型号是 STM32F407VGT6, 使用stm32cubemx 工具自动产生的配置工程,使用KEIL5编译代码。本示例所用的最小系统板原理图:

  1. 关于CUBEMX工具及KEIL工具的操作将不再细讲,如果还有不熟悉的可以查看之前的教程文档。下面直接介绍工程配置:
  1. 系统时钟树

  1. 网口配置

  1. RCC配置

  1. SYS配置

  1. Lwip配置(参数可保持默认,也可用静态IP方式,分别设置如下图)

  1. 引脚配置

  1. 中断配置(保持默认即可)

  1. 工程代码

    1. 在main.c 中加入如下图所示代码:

同时给工程加入我们事先准备好的udp_echoserver.c文件并指定udp_echoserver.h路径

  1. 编译工程,下载代码,首先来看静态IP方式(设置的静态IP为192.168.1.103),电脑输入命令win+r,输入CMD 回车,再输入 ping 192.168.1.103 ,给果如下,说明我们的网络接口及LWIP已成功运行,注这里的静态IP地址(192.168.1.103)应跟据实验者的实际电脑ip地址来设(可用ipconfig /all 命令来查看PC的IP地址),只要设置成与PC在同一网段即可:

再来看一下DHCP方式,DHCP的ip为路由器自动分配,如果设备网口及LWIP成功运行,在路由器列表中同样也应该可以看到我们的设备:

同时,DHCP方式也应该是可以PING通的。

用TCP,UDP测试工具来测试一下UDP收发功能(本例是一个数据回显功能),相应的工具会在资料包中提供,打开软件,按下图所示步骤操作:

出现如下图所示操作结果:发送什么,回应什么,说明我们的UDP收发功能正常,实验成功!!

OK,本期实验完成!下期见!同时如果大家有什么疑问或是有想了解的其它内容,也欢迎大家留言!!最后喜欢这个公众号的同学们记得加关注了,会有不定期技术干货推出!!

文中资料下载,在公众号里给十三发消息:

下载|STM32基础系列教程32

关注十三公众号

STM32 基础系列教程 32 – Ethnet+Lwip相关推荐

  1. STM32 基础系列教程 35 - Lwip_sntp

    前言 NTP是网络时间协议(Network Time Protocol),它是用来同步网络中各个计算机的时间的协议.SNTP 简单网络时间协议(Simple Network Time Protocol ...

  2. STM32 基础系列教程 34 - Lwip_tcp_server

    前言 学习stm32 以太网接口使用,及LWIP使用,用LWIP快速实现一个TCP server网络通信功能, 学会基本LWIP的网络数据接收与发送功能,让初学者了解和学会使用lwip. 示例详解 基 ...

  3. STM32 基础系列教程 33 - Lwip_tcp_client

    前言 学习stm32 以太网接口使用,及LWIP使用,用LWIP快速实现一个TCP client网络通信功能, 学会基本LWIP的网络数据接收与发送功能,让初学者了解lwip(关于Lwip更多的功能介 ...

  4. STM32 基础系列教程 47 - MD5

    前言 MD5消息摘要算法(英语:MD5 Message-Digest Algorithm),一种被广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值(hash value),用于确保信 ...

  5. STM32 基础系列教程 46 – RNG

    前言 随机数发生器(RNG)是一个以连续模拟噪声为基础的随机数发生器,在主机读数时提供一个 32 位的随机数.STM32F407自带RNG ,本节将给大演示STM32F4系列MCU中的RNG的使用.用 ...

  6. STM32 基础系列教程 40 - Lwip_mqtt

    前言 MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议),是一种基于发布/订阅(publish/subscribe)模式的"轻量级&qu ...

  7. STM32 基础系列教程 39 - Lwip_tftp

    前言 文件传输协议(英文:File Transfer Protocol,缩写:FTP)是用于在网络上进行文件传输的一套标准协议,使用客户/服务器模式.它属于网络传输协议的应用层.文件传送(file t ...

  8. STM32 基础系列教程 38 - Lwip_http

    前言 HTTP协议(HyperText Transfer Protocol,超文本传输协议)是因特网上应用最为广泛的种网络传输协议,所有的WWW文件都必须遵守这个标准.HTTP是一个基于TCP/IP通 ...

  9. STM32 基础系列教程 37 - Lwip_igmp

    前言 组播通信的特点是报文从一个源发出,被转发到一组特定的接收者.但在组播通信模型中,发送者不关注接收者的位置信息,只是将数据发送到约定的目的组播地址.要使组播报文最终能够到达接收者,需要某种机制使连 ...

最新文章

  1. python提供两个对象身份比较操作符什么和什么来测试_python - 第二部分
  2. boost::intrusive::value_traits用法的测试程序
  3. ubuntu mysql 连接_Ubuntu 配置MySQL远程连接
  4. 最简单的基于FFmpeg的移动端例子:Android HelloWorld
  5. iOS开发编译错误:std::terminate(), referenced from:
  6. Java操作MongoDB(聚合函数)向Mongo插入及查询数据
  7. 百度之星1000——A+B问题
  8. c语言 opengl函数魔方,《基于OpenGL的3D旋转魔方实现汇总》.doc
  9. python实现排列组合
  10. 反病毒引擎设计(一):绪论 本文来自:剑盟反病毒技术门户(www.janmeng.com)
  11. 那些你所不知道的结构光技术
  12. 如何搭建OpenOCD环境基于Window10+Cygwin?
  13. 工具——XML文件解析器
  14. 零基础应该怎么学习商业插画?
  15. 【练习】星巴克介绍页面
  16. drive登录不上 华为电脑one_Win10电脑中OneDrive无法登录如何解决
  17. Codeforces Beta Round #57 (Div. 2)E---Enemy is weak(树状数组+离散化)
  18. 中间件选型标准和流程
  19. 美国oracle球场,【Dubnation翻译】甲骨文球馆的恢弘“绝唱”
  20. python 广义线性模型_数学建模/机器学习:广义加性模型(GAM)及其Python实现

热门文章

  1. Oracle- 数据库的备份
  2. python class属性
  3. UA MATH567 高维统计I 概率不等式8 亚指数范数
  4. UA MATH566 统计理论10 Bootstrap简介
  5. MFC CListCtrl控件基本使用图解
  6. jQuery调试学习总结
  7. 微软Entity Framework安装和初步研究
  8. SQL Server分页存储过程实践(图解)
  9. kubernetes实战篇之通过api-server访问dashboard
  10. 树、森林与二叉树的相互转换