stm32实现esp8266的AT指令

本文介绍了STM32通过串口与ESP8266进行AT指令交互,以实现物联网设备的连接。内容涉及AT指令的概述、指令类型,以及在STM32上实现与ESP8266通信的步骤,包括配置串口和编写代码。
摘要由CSDN通过智能技术生成


前言

物联网,万物互联。这里涉及到的最基本的东西就是如何将所有的物联网设备连接在一起。最简单、最广泛使用的就是互联网。乐鑫公司推出的高性能、低功耗串口wiFi模块ESP8266应该是使用最广泛的一种wIFI模块之一了。

ESP8266内置一个Tensilica(泰思立达〉Xtensa架构的32位处理器L106,具有5级流水线(ARMCortexM3是3级流水线),最大时钟速度为160MHz,可以使用高达16MB的外部SPI Flash。该模块采用串口与MCU(或其他串口设备)通信,内置TCP/IP协议栈,能够实现串口与 wIFI之间的转换。通过该模块,传统的串口设备只需要简单的串口配置,即可通过wiFi传输自己的数据。

WiFi具有两种功能模式:一种叫 AP(Access Point)模式,一种叫Station模式。AP就是我们平时所说的热点,如无线路由器,开了热点的手机等,这些AP设备可以允许其他设备(如手机,笔记本电脑等)输入热点名(SSID)和密码(也可不设置密码)后连接上网;Station则是前面说的连接AP的设备,如手机,笔记本电脑等。ESP8266除支持上述两种模式以外,还可以支持第三种模式:AP+Station,即:将AP 和Station的功能合二为一,它主要是实现无线桥接的功能,该模式应用的场景不多,这里不作介绍。

ESP8266模块自身带有高性能的MCU,因此它既可以通过串口连接为外部 MCU提供 wiFi通信功能;也可以让用户直接在模块内置的MCU上基于RTOS SDK进行软件编程,开发出具有低功耗、低成本的WiFi连接产品,如市面上绝大部分的WiFi智能插座基本上都是直接使用ESP8266模块作主控芯片开发的。


一、什么是AT指令?

1、概述

AT即Attention,它由拨号调制解调器(Modem)的发明者贺氏公司(Hayes)为了控制Modem发明的控制协议。协议本身采用文本,每个命令均以AT打头,因此得名。90年代初,AT指令仅被用于Modem操作。

几年后,主要的移动电话生产厂商诺基亚、爱立信、摩托罗拉和HP共同为GSM研制了一整套AT指令,其中就包括对SMS的控制。AT指令在此基础上演化并被加入GSM 07. 05标准以及现在的GSMO7.07标准,其中拨打电话、收发短信、收发传真等全部由AT命令实现。而在随后的GPRS控制,3G模块,以及工业上常用的PDJ,均采用AT命令集来控制,这样AT指令也就成为了完全标准化和比较健全的标准。

AT指令是以AT作为开头,\r\n字符结束的字符串,每个指令执行成功与否都有相应的返回。其他的一些非预期的信息(如有人拨号进来、线路无信号等),模块将有对应的一些信息提示,接收端可做相应的处理。

2、指令类型

类型 指令格式 描述
执行指令 AT+<> 该命令用于执行受模块内部程序控制的变参数不可变的功能。
测试指令 AT+<>=? 该命令用于该命令用于查询设置指令的参数以及取值范围。
查询指令 AT+<>? 该命令用于返回参数的当前值。
设置指令 AT+<>=<…> 该命令用于设置用户自定义的参数值。

二、实现步骤

1、分析原理

① 从USART1收到的数据(PC端发过来的)转发给USART2(ESP8266 WiFi模块);

② 从USART2收到的数据(ESP8266 WiFi模块)转发给USART1(PC端)

流程图:
在这里插入图片描述

2.配置

①usrt1和usart2配置
在这里插入图片描述
保存

3.代码编写

② usart.c

static  uint8_t s_uart1_rxch;
char    g_uart1_rxbuf[256];
uint8_t g_uart1_bytes;


//串口2
static  uint8_t s_uart2_rxch;
char    g_uart2_rxbuf[256];
uint8_t g_uart2_bytes;
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

.3

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值