zxj 发表于 2020-4-2 15:30:22

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 *)&currentDataPoint);基本那就是以上几点


(7)增加控制led灯相关的函数



(8)然后单片机和esp8266开始连线
esp8266的串口分别接到单片机的串口2,
然后给esp8266两个电源线。一共是四根线。



(9)但是失败了。
手机无法连接到wifi模块,
mcu串口打印是:



已经搞了很久了,快崩溃了。
求大家帮帮忙。
是不是哪里配置错了???













冯俊波 发表于 2020-4-2 16:06:13

串口部分代码仔细检查一下

zxj 发表于 2020-4-2 16:09:26

冯俊波 发表于 2020-4-2 16:06
串口部分代码仔细检查一下

这一部分是直接生成的,未曾改动过,你这边有代码参考吗

小妖 发表于 2020-4-7 20:57:21

zxj 发表于 2020-4-2 16:09
这一部分是直接生成的,未曾改动过,你这边有代码参考吗

肯定是要改的,生成的没有串口程序的,你先参考这个看看http://club.gizwits.com/thread-165604-1-1.html

foolish 发表于 2020-4-8 21:18:55

楼主 请问你解决这个问题了嘛?可以交流下吗?
页: [1]
查看完整版本: stm32和esp8266搭配控制led闪烁,已经搞了几天了,一直失败