当前位置: 首页 > news >正文

STM32提高篇: WIFI通讯

STM32提高篇: WIFI通讯

  • 一.WIFI通讯介绍
    • 1.WiFi的频段5G和2.4G
    • 2.WiFi的信道
  • 二.ESP32固件烧录及驱动
    • 1.一个AT指令响应的完成
    • 2.测试其他指令
  • 三.Wifi功能初始化和TCP通讯
  • 四.volatile关键字

一.WIFI通讯介绍

Wi-Fi,又称“无线网路”,是Wi-Fi联盟的商标,一个基于IEEE 802.11标准的无线局域网技术。“Wi-Fi”常写作“WiFi”或“Wifi”,但是这些写法并没有被Wi-Fi联盟认可。
Wi-Fi这个术语经常被误以为是指无线保真(Wireless Fidelity),类似历史悠久的音频设备分类:长期高保真(1930年开始采用)或Hi-Fi(1950年开始采用)。即便是Wi-Fi联盟本身也经常在新闻稿和文件中使用“Wireless Fidelity”这个词,Wi-Fi还出现在ITAA的一个论文中。事实上,Wi-Fi一词是没有任何意义,也没有全写的。
1999年,几家富有远见的公司联合起来组成了一个全球性非营利性协会——无线以太网兼容性联盟(Wireless Ethernet Compatibility Alliance, WECA),其目标是使用一种新的无线网络技术,无论品牌如何,都能带来最佳的用户体验。在2000年,该小组采用术语“Wi-Fi”作为其技术工作的专有名称,并宣布了正式名称:Wi-Fi Alliance。

1.WiFi的频段5G和2.4G

2.4G Wi-Fi与5G Wi-Fi最本质的区别即工作频段(无线电波的频率)不一样,如下表所示,5G Wi-Fi频段有更高的频率和频宽,可以提供更高的速率和更小的信道干扰。
在这里插入图片描述

2.WiFi的信道

目前用的频段有2个5G和2.4G频段,每个频段又分为若干频道,又称为信道。如果把频段理解为高速公路的话,那么信道可以理解高速公路上的车道。
2.4G:
在标准协议里将2.4GHz频段划分出13个相互交叠的信道,每个信道的频宽是20MHz(802.11g、802.11n每个信道占用20MHz,802.11b每个信道占用22MHz),每个信道都有自己的中心频率。
这13个信道可以找出3个独立信道,即没有相互交叠的信道。独立信道由于没有频率的交叠区,相邻AP使用这3个独立信道不会彼此产生干扰。如下图中的1、6、11就是三个互不交叠的独立信道。
在这里插入图片描述
5G:
标准协议将5GHz频段分为24个20MHz宽的信道,且每个信道都为独立信道。这为WLAN提供了丰富的信道资源,更多的独立信道也使得信道绑定更有价值,信道绑定是将两个信道绑定成一个信道使用,能提供更大的带宽。如两个20MHz的独立信道绑定在一起可以获得40MHz的吞吐量,这好比将两条道路合并成一条使用,自然就提高了道路的通过能力。
下图中,黑色的半圆表示独立信道,红色的半圆表示标准协议推荐的信道绑定。
在这里插入图片描述

二.ESP32固件烧录及驱动

在这里插入图片描述
烧录中:
在这里插入图片描述
测试AT命令集:
使用UART2和ESP32进行数据交互,PE4默认使能。
在这里插入图片描述
在这里插入图片描述
选择STM32的USART2:
在这里插入图片描述
默认高电平:
在这里插入图片描述
UART2发送AT指令函数:

void Inf_ESP32_Init(void)
{/* 接收串口数据: 通过中断的方式 . 必须先调用先开中断,当数据接收完毕之后,再关闭中断1. 如果碰到了空闲帧,会产生中断2. 如果收到的数据>=128个字节, 也会结束这次接收*/HAL_UARTEx_ReceiveToIdle_IT(&huart2, rxBuff, 128);/* 1. 测试esp32是否正常:  "AT\r\n" */Inf_ESP32_SendCmd("AT\r\n");/* 2. 重启模块 并进入正常模式 */Inf_ESP32_SendCmd("AT+RST=0\r\n");HAL_Delay(3000);Inf_ESP32_SendCmd("AT\r\n");/* 3. 查询版本信息 */Inf_ESP32_SendCmd("AT+GMR\r\n");
}
/*
当碰到空闲帧  或者收到的数据大于等于128
size: 表示实际收到的字节数
*/
void HAL_UARTEx_RxEventCallback(UART_HandleTypeDef *

相关文章:

  • S32K144学习(16)-Bootloader
  • EdgeGPT - 新版Bing聊天功能逆向工程
  • 序列决策问题(Sequential Decision-Making Problem)
  • (区间 dp)洛谷 P6879 JOI2020 Collecting Stamps 3 题解
  • docker镜像新增加用户+sudo权限,无dockerfile
  • AI领域:MCP 与 A2A 协议的关系
  • 网络威胁情报 | Friday Overtime Trooper
  • MCP使用SSE和STDIO模式时,mcp client 如何连接
  • 深度学习是什么?该怎么入门学习?
  • Unity 导出Excel表格
  • [特殊字符]fsutil命令用法详解
  • pcp补丁升级手顺
  • (8)ECMAScript语法详解
  • 入门-C编程基础部分:17、typedef
  • 创建redis-cluster集群
  • 提交到Gitee仓库
  • 火语言RPA--Ftp删除目录
  • react使用01
  • 【浙江大学DeepSeek公开课】回望AI三大主义与加强通识教育
  • 【时时三省】(C语言基础)改变循环执行的状态
  • 马上评丨冒名顶替上中专,为何一瞒就是30多年?
  • 继微软之后,亚马逊也放缓人工智能数据中心计划
  • 著名水声学家陆佶人逝世,曾参加我国第一代核潜艇主动声纳研制
  • 资深翻译家、斯诺研究专家安危逝世,曾为多位外国元首做口译
  • 上海与丰田汽车签署战略合作协议,丰田独资设立的雷克萨斯项目正式落地
  • 视频·世界读书日|林乾:碎片化阅读或影视综艺≠知识