【stm32】wifi ESP8266的AT指令 实验一(HAL库开发)_hal库写esp8266

任务:这一周,想学习esp8266wifi模块的使用个驱动,学习mqtt,学会阿里云物联网的服务器使用,将自己的智能设备挂载到阿里云上,服务器可以发送指令给我的开发板,开发板完成相应功能。

而这第一步就是:先能把wifi模块驱动起来,我开发板的wifi模块是ESP8266,实验一:开发板发送AT,能够收到回复OK。就这么简单。参考的野火的资料,用的是标准固件库,而我想用HAL库开发,所以需要改一下下。

完成了程序之后,才理解了一些资料。

总结下来就是:我使用的方法就是AT指令,ESP8266烧写好固件,不需要我写wifi固件了,这里不像蓝牙芯片,之前写蓝牙芯片的程序需要考虑透传协议等等之类的,而ESP8266芯片内部集成了很多例如lwip协议等很多,很多事情不需要做,只需要给ESP8266上电,配置好串口,使能一些引脚(RST、CH_PD),最后通过串口给esp8266发送 AT指令就好了。8266会自己去解析AT指令并将结果返回给stm32.

嗯 ,听起来是不很简单,就是这么简单的一个AT指令测试程序我写了好久,卡在了好几个地方。

卡的第一个:是板载的模块上有个EN引脚要接3.3V,我是真的不知道要接,一直驱动不起来,看了下原理图查了查资料才发现这里要给它供电。然后去实验室用电烙铁直接上锡,简单粗暴。

卡的第二个:写程序的时候,没将esp8266的串口引脚和stm32的串口3引脚接正确,程序里配置错uart的tx和rx了,导致串口3驱动不起来,程序运行不出结果。

卡的第三个:串口3的波特率,tmd忘了配置了,哎我真的是!这种问题找了好久好久。。。

一、ESP8266的一些资料

二、程序代码:

bsp_uart.h


#ifndef BSP_USART_H
#define BSP_USART_H

#include "stm32f1xx.h"
#include <stdio.h>

//串口波特率
#define DEBUG_USART_BAUDRATE                    115200
#define WIFI_USART_BAUDRATE                     115200


/*******************************************************/ /*********************************************************/
//引脚定义 串口1
#define DEBUG_USART                             USART1
#define DEBUG_USART_CLK_ENABLE()                __HAL_RCC_USART1_CLK_ENABLE()

#define DEBUG_USART_RX_GPIO_PORT                GPIOA
#define DEBUG_USART_RX_GPIO_CLK_ENABLE()        __HAL_RCC_GPIOA_CLK_ENABLE()
#define DEBUG_USART_RX_PIN                      GPIO_PIN_10

#define DEBUG_USART_TX_GPIO_PORT                GPIOA
#define DEBUG_USART_TX_GPIO_CLK_ENABLE()       __HAL_RCC_GPIOA_CLK_ENABLE()
#define DEBUG_USART_TX_PIN                      GPIO_PIN_9

#define DEBUG_USART_
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值