stm8l单片机8266和ESP8266相关

授予每个自然月内发布4篇或4篇以仩原创或翻译IT博文的用户不积跬步无以至千里,不积小流无以成江海程序人生的精彩需要坚持不懈地积累!

}

授予每个自然月内发布4篇或4篇以仩原创或翻译IT博文的用户不积跬步无以至千里,不积小流无以成江海程序人生的精彩需要坚持不懈地积累!

}

说明:如果不选择调试器有时候STM32CubeMX生成的代码会把调试端口关闭,这里为了确保工程的完整性需要把调试器选进来另外选进来调试器也不会占用额外的程序代码。如果關闭了调试端口的功能下次烧录程序时就需要使用IAP的方式而不能使用SWD的方式烧录了。

本开发板中主MCU外接了一个外部的低速晶振(LSE),頻率为32.768如下图示:

基本上来说,针对每个开发板上的MCU都需要至少连接一个低速的外部晶振,该晶振具备低时钟、低功耗但是它也只能提供部分的系统时钟来源。要想完成诸如USB设备和主机的使能往往需要外部接一个高速晶振来使得USB可以得到一个48MHz的时钟。在有些场景下额外的高速晶振提高了成本和PCB面积占用,更重要的是使能的高速晶振还是耗电大户但又不得不开启它。L496内部有一个特殊的时钟源MSI该時钟不需要高速晶振就可以灵活配置以满足各类时钟需要,包含系统时钟和USB时钟等但可想而知MSI的精度比不上外部高速晶振。但如果系统添加了外部低速晶振ST为了提高MSI时钟的精度,在设计时MSI时钟会参考LSE时钟,MCU硬件会自动根据LSE矫正MSI的精度使得MSI可以满足更高精度的USB时钟源,此时就可以无需外接HSE晶振了当然,把MSI作为系统时钟源也会提高整个系统的时钟精度

后面在配置时会看到MSI自动矫正自动使能了,不选擇LSE则矫正不会使能

CDC类实现了一个虚拟串口VCP连接到电脑,从而电脑可以看到LPUART1的串口信息

如果新建工程时通过“Board Selector”选项选择的话,STM32CubeMX会自动添加一些配置以符合选择的Board的硬件布局但截至目前(STM32CubeMX v4.20.1)该硬件布局给出的是错误的,包括与ST-LINK连接的串口号等所以建议从MCU Selector开始一个STM32CubeMX工程,并手动配置各个部分这也是针对自己PCB硬件时应该用的方法。

ESP8266-01S模块是一个低成本、易使用、功能强大的WIFI通信模块它通过串口通信,模塊价格约10元人民币如下图是ESP8266的管脚IO图:

通过上图可以看出ESP8266通过串口通信,为了确保通信的完整性需要使用3V3RSTRXTXGND5个管脚。本工程選择的通信串口是串口5uart5其实选择其它串口也是一样的,即使由串口5修改为其它串口也非常简单RST是复位管脚,低电平时复位我们默認把它配置为高定平。3V3GND分别接入电源和地即可配置如下述。

通过查看开发板的原理图可知PD2PC12位于Zio接口的CN8上为了方便接线,我们直接使用CN8附近的管脚接口来连接ESP8266PC11来连接ESP8266RST管脚并默认置高,3V3GND也用CN8上的管脚如下图所示:

 TX管脚,PC12TX端口连接ESP8266RX管脚,这样才能完成正確的通信链路

Label”,填入“ESP8266_RST_OUT”后按回车键即可完成对PC11的管脚定义和自定义标签该管脚将被默认置高,如下图示:

说明:程序中使用管脚標签来引用该IO口所以自定义一个有意义的标签有利于程序的编写和维护,做到见名知意

建议的标签名称组合为:“外设名称_功能_OUT/IN”。

點击“Clock Configuration”标签选择“Yes”,让STM32CubeMX自动调整下时钟如果不符合还可以自己手动调:

注意:一般填写HCLK为最大值,然后让STM32CubeMX自动计算其它配置

确保时钟配置如下所示:

选择“Configuration”选项卡,在RCC中使能MSI时钟精度自动矫正如果不添加LSE,此处是不能使能的:

选择“GPIO”在“GPIO”中选择“PC11”然後配置StateHigh,此处的High既为置高来使ESP8266正常工作;按照下图配置完成PC11的值:

点击齿轮按钮(或Project->Settings菜单)调整工程选项,如下图示:

说明:如果使鼡其它的IDE则只需要修改Toolchain/IDE为目标IDE即可。

STM32CubeMX会自动开始生成工程(如果没有开始生成则再次点击齿轮按钮即可)生成完成后,如果完成了MDK-ARM的咹装或其它IDE的安装点击“Open

通过开发板原理图可知,ST-LINK是通过一个串口连接到了主MCU的串口:LPUART1所以我们才会把LPUART1配置出来以便于通过该串口输絀调试信息,输出的信息通过了ST-LINK的串口最后经过VCP被电脑的串口调试程序获取ST-LINK与主MCU的串口通信连接图如下:

打开常用的串口调试程序,比洳putty填写串口号和波特率,点击“open”打开调试串口此时putty等待显示信息。如下图示:

说明:图中电脑识别出的COM3既是ST-LINK的虚拟串口对该串口操作会反映到主MCULPUART1

要完成通过云端API获取信息需要注册并获取云端API

分别修改代码中的路由器名称、路由密码和API KEY即可完成基本的自定义过程,工程中通过ESP8266提供的HTTP GET/POST功能接受/发送消息编译完成后开始调试程序,在memory窗口中添加“HtmlData”变量可以查看HTTP GET返回的具体信息,调试如下图所礻:

可以看出我们获取到了正确的天气信息

程序运行时的板子连接和运行如下图示:

本文详细介绍了如何使用STM32CubeMX新建一个wifi get weather工程,同时给絀了如何提高MSI的精度,高精度的MSI作为了主时钟的时钟源

还实现了通过云端API获取天气预报的功能,ESP8266通过串口与开发板连接提供了非常友恏的、易于移植的源代码,我们可以非常方便的添加各类基于云端API的应用示例

}

我要回帖

更多关于 单片机8266 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信