stm32和esp8266搭配控制led闪烁,已经搞了几天了,一直失败
实验的最终目的 ——> 手机app控制单片机开发板上LED的闪烁。(1)机智云的配置
配置一个led灯,然后MCU开发,生成的代码去移植到stm32CubeMx中生成的代码中。
(2)单片机采用的是stm32L475,(为什么采用这款了,因为正好有这个开发板)
主要配置如下:
PD9——>KEY1,配置成输入上拉;
PD8——>KEY2,配置成输入上拉;
PE7——>LED,配置成输出;
PA9,PA10——>串口1,串口打印到上位机,波特率115200;
PA2,PA3——>串口2,与esp8266通讯,波特率9600;
还有一个定时器2,TIM2,分频系数是:7200;
主时钟为72M。
以上就是mcu的配置。
(3)esp8266
买的是安信可淘宝店的一个小的模块。
然后我通过USB转串口往该模块中烧录机智云的固件。
固件烧录显示是成功的。
(4)机智云串口模拟外部mcu与esp8266通讯
手机机智云app是能够连接到该esp8266,而且可以控制led。
该过程显示,esp8266中的机智云固件是正确的。
(6)修改st的代码。
在stm32CubeMx生成的代码中添加机智云相关的代码,主要是一下三个
然后修改相关的代码。主要参照的是这个http://docs.gizwits.com/zh-cn/deviceDev/STM32CubeMX_transplant.html
主要是一下几点:
a.增加头文件 #include "hal_key.h"
#include "gizwits_product.h"
#include "common.h"b.增加相关的全局变量 #define GPIO_KEY_NUM 2
keyTypedef_t singleKey;
keysTypedef_t keys;c.增加长短按键的回调函数d.在main函数中增加相关的初始化e.在while函数中增加 userHandle();
gizwitsHandle((dataPoint_t *)¤tDataPoint);基本那就是以上几点
(7)增加控制led灯相关的函数
(8)然后单片机和esp8266开始连线
esp8266的串口分别接到单片机的串口2,
然后给esp8266两个电源线。一共是四根线。
(9)但是失败了。
手机无法连接到wifi模块,
mcu串口打印是:
已经搞了很久了,快崩溃了。
求大家帮帮忙。
是不是哪里配置错了???
串口部分代码仔细检查一下 冯俊波 发表于 2020-4-2 16:06
串口部分代码仔细检查一下
这一部分是直接生成的,未曾改动过,你这边有代码参考吗 zxj 发表于 2020-4-2 16:09
这一部分是直接生成的,未曾改动过,你这边有代码参考吗
肯定是要改的,生成的没有串口程序的,你先参考这个看看http://club.gizwits.com/thread-165604-1-1.html 楼主 请问你解决这个问题了嘛?可以交流下吗?
页:
[1]