STM32 基础系列教程 32 – Ethnet+Lwip
前言
学习stm32 以太网接口使用,及LWIP使用,用LWIP快速实现一个UDP网络通信功能, 学会基本LWIP的网络数据接收与发送功能,让初学者了解lwip(关于Lwip更多的功能介绍将会在后期的STM32 中级教程中介绍)。
示例详解
基于硬件平台: MCU 的型号是 STM32F407VGT6, 使用stm32cubemx 工具自动产生的配置工程,使用KEIL5编译代码。本示例所用的最小系统板原理图:
- 关于CUBEMX工具及KEIL工具的操作将不再细讲,如果还有不熟悉的可以查看之前的教程文档。下面直接介绍工程配置:
- 系统时钟树
- 网口配置
- RCC配置
- SYS配置
- Lwip配置(参数可保持默认,也可用静态IP方式,分别设置如下图)
- 引脚配置
- 中断配置(保持默认即可)
- 工程代码
- 在main.c 中加入如下图所示代码:
同时给工程加入我们事先准备好的udp_echoserver.c文件并指定udp_echoserver.h路径
- 编译工程,下载代码,首先来看静态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相关推荐
- STM32 基础系列教程 35 - Lwip_sntp
前言 NTP是网络时间协议(Network Time Protocol),它是用来同步网络中各个计算机的时间的协议.SNTP 简单网络时间协议(Simple Network Time Protocol ...
- STM32 基础系列教程 34 - Lwip_tcp_server
前言 学习stm32 以太网接口使用,及LWIP使用,用LWIP快速实现一个TCP server网络通信功能, 学会基本LWIP的网络数据接收与发送功能,让初学者了解和学会使用lwip. 示例详解 基 ...
- STM32 基础系列教程 33 - Lwip_tcp_client
前言 学习stm32 以太网接口使用,及LWIP使用,用LWIP快速实现一个TCP client网络通信功能, 学会基本LWIP的网络数据接收与发送功能,让初学者了解lwip(关于Lwip更多的功能介 ...
- STM32 基础系列教程 47 - MD5
前言 MD5消息摘要算法(英语:MD5 Message-Digest Algorithm),一种被广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值(hash value),用于确保信 ...
- STM32 基础系列教程 46 – RNG
前言 随机数发生器(RNG)是一个以连续模拟噪声为基础的随机数发生器,在主机读数时提供一个 32 位的随机数.STM32F407自带RNG ,本节将给大演示STM32F4系列MCU中的RNG的使用.用 ...
- STM32 基础系列教程 40 - Lwip_mqtt
前言 MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议),是一种基于发布/订阅(publish/subscribe)模式的"轻量级&qu ...
- STM32 基础系列教程 39 - Lwip_tftp
前言 文件传输协议(英文:File Transfer Protocol,缩写:FTP)是用于在网络上进行文件传输的一套标准协议,使用客户/服务器模式.它属于网络传输协议的应用层.文件传送(file t ...
- STM32 基础系列教程 38 - Lwip_http
前言 HTTP协议(HyperText Transfer Protocol,超文本传输协议)是因特网上应用最为广泛的种网络传输协议,所有的WWW文件都必须遵守这个标准.HTTP是一个基于TCP/IP通 ...
- STM32 基础系列教程 37 - Lwip_igmp
前言 组播通信的特点是报文从一个源发出,被转发到一组特定的接收者.但在组播通信模型中,发送者不关注接收者的位置信息,只是将数据发送到约定的目的组播地址.要使组播报文最终能够到达接收者,需要某种机制使连 ...
最新文章
- python提供两个对象身份比较操作符什么和什么来测试_python - 第二部分
- boost::intrusive::value_traits用法的测试程序
- ubuntu mysql 连接_Ubuntu 配置MySQL远程连接
- 最简单的基于FFmpeg的移动端例子:Android HelloWorld
- iOS开发编译错误:std::terminate(), referenced from:
- Java操作MongoDB(聚合函数)向Mongo插入及查询数据
- 百度之星1000——A+B问题
- c语言 opengl函数魔方,《基于OpenGL的3D旋转魔方实现汇总》.doc
- python实现排列组合
- 反病毒引擎设计(一):绪论 本文来自:剑盟反病毒技术门户(www.janmeng.com)
- 那些你所不知道的结构光技术
- 如何搭建OpenOCD环境基于Window10+Cygwin?
- 工具——XML文件解析器
- 零基础应该怎么学习商业插画?
- 【练习】星巴克介绍页面
- drive登录不上 华为电脑one_Win10电脑中OneDrive无法登录如何解决
- Codeforces Beta Round #57 (Div. 2)E---Enemy is weak(树状数组+离散化)
- 中间件选型标准和流程
- 美国oracle球场,【Dubnation翻译】甲骨文球馆的恢弘“绝唱”
- python 广义线性模型_数学建模/机器学习:广义加性模型(GAM)及其Python实现