STM32H743-ARM例程29-HTTP

目录

实验平台

硬件:银杏科技GT7000双核心开发板-ARM-STM32H743XIH6,银杏科技iToolXE仿真器

软件:最新版本STM32CubeH7固件库STM32CubeMX v6.10.0,开发板环境MDK v5.35

HTTP

HTTP 是 HyperText Transfer Protocol(超文本传输协议)的简写,它是 TCP/IP 协议集中的一个应用层协议,是客户端与服务端进行交互时必须遵循的规则。它用于定义 Web 浏览器与 Web 服务器之间交换数据的过程以及数据本身的格式,底层是靠 TCP 进行可靠地信息传输。

从互联网七层模型中我们可以看到,HTTP属于应用层,应用层决定了向用户提供应用服务时通信的活动,它构建于 TCP 协议之上,HTTP 协议也处于该层。TCP/IP 协议族内预存了各类通用的应用服务。比如,FTP(File Transfer Protocol,文件传输协议)和 DNS(Domain Name System,域名系统)服务就是其中两类。HTTP工作流程如下图所示

HTTP 协议工作于客户端-服务端架构上。

HTTP 工作过程通常如下:

  1. 客户端发起请求:用户通过客户端(如浏览器)输入 URL,客户端向服务器发起一个 HTTP 请求。
  2. 服务器处理请求:服务器接收到请求后,根据请求的类型(如GET、POST等)和请求的资源,进行相应的处理。
  3. 服务器返回响应:服务器将处理结果包装成HTTP响应消息,发送回客户端。
  4. 客户端渲染页面:客户端接收到响应后,根据响应内容(如HTML、图片等)渲染页面,展示给用户。

Web 服务器有:Nginx 服务器,Apache 服务器,IIS 服务器(Internet Information Services)等。HTTP 默认端口号为 80,但是你也可以改为 8080 或者其他端口。

HTTP 三点注意事项:

• HTTP 是无连接:无连接的含义是限制每次连接只处理一个请求,服务器处理完客户的请求,并收到客户的应答后,即断开连接,采用这种方式可以节省传输时间。

• HTTP 是媒体独立的:这意味着,只要客户端和服务器知道如何处理的数据内容,任何类型的数据都可以通过HTTP发送,客户端以及服务器指定使用适合的 MIME-type 内容类型。

• HTTP 是无状态:HTTP 协议是无状态协议,无状态是指协议对于事务处理没有记忆能力,缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大,另一方面,在服务器不需要先前信息时它的应答就较快。

HTTP作为互联网的基础协议之一,对于Web开发和使用至关重要。理解HTTP的工作原理、请求和响应结构,以及相关的安全性问题,可以帮助开发者和用户更好地利用Web技术。随着技术的不断演进,HTTP协议也在不断适应新的需求,未来的发展将更加注重性能和安全。

有关HTTP更详细的介绍可以参考HTTP协议此文档。

STM32CubeMX生成工程

我们参考前面章节STM32H743-结合CubeMX新建HAL库MDK工程,打开CubeMX软件,重复步骤不再展示。我们来看配置MPU配置、以太网部分和Lwip部分配置如下图所示:
配置以太网。选用RMII(精简的独立于介质接口)模式




MPU配置

LWIP配置


选择PHY芯片型号。LAN8742向下兼容LAN8720

实验代码

  1. 主函数
相关推荐
fie888918 小时前
基于51单片机的航模遥控器6通道接收机程序
单片机·嵌入式硬件·51单片机
somi719 小时前
ARM-驱动-02-Linux 内核开发环境搭建与编译
linux·运维·arm开发
llilian_1619 小时前
选择北斗导航卫星信号模拟器注意事项总结 北斗导航卫星模拟器 北斗导航信号模拟器
功能测试·单片机·嵌入式硬件·测试工具·51单片机·硬件工程
qq_3395548219 小时前
英飞凌ModusToolbox环境搭建
c语言·eclipse
Yyq1302086968219 小时前
MH2457,‌国产 32 位屏驱 MCU‌芯片,支持‌1080P 高清显示‌与‌以太网通信‌,广泛应用于两轮车仪表盘及工控屏等领域
单片机·嵌入式硬件
张張40820 小时前
(域格)环境搭建和编译
c语言·开发语言·python·ai
༾冬瓜大侠༿20 小时前
vector
c语言·开发语言·数据结构·c++·算法
爱分享的阿Q20 小时前
STM32现代化AI开发环境搭建:从Keil到VSCode+AI的范式转移
人工智能·vscode·stm32
爱吃程序猿的喵20 小时前
南邮计科电工电子实验B《RLC串联谐振电路》实验报告
单片机·嵌入式硬件
独小乐20 小时前
009.中断实践之实现按键测试|千篇笔记实现嵌入式全栈/裸机篇
linux·c语言·驱动开发·笔记·嵌入式硬件·arm