ESP8266开发入门

LUA固件调试esp8266 esp8266固件开发教程_LUA固件调试esp8266

文章目录

  • ESP8266开发入门
  • 1、开发环境搭建
  • 1.1、开发环境:windows10 + vscode
  • 1.2、建立开发工程
  • 1.3、开发资料
  • 2、小试牛刀——串口使用

1、开发环境搭建

开发环境关键字:vscode、PlatformIO IDE、ESP8266 Non-OS SDK。

1.1、开发环境:windows10 + vscode

vscode软件安装以及常用的插件安装网上说明较多,不做说明。

vscode安装完成后,安装PlatformIO IDE插件,搜索关键字安装即可,安装过程受限境外网速影响,安装时间较长。

LUA固件调试esp8266 esp8266固件开发教程_串口_02

1.2、建立开发工程

点击PlatformIO插件,点击New Project。按如下配置完成后将自动建立开发工程,首次使用时vscode会自动下载需要的库文件,此过程也较为漫长。耐心等待。

LUA固件调试esp8266 esp8266固件开发教程_串口_03

工程建立成功后在 C:\Users\{username}\.platformio 路径中会增加工程使用的相关文件库目录,包括python3,packages等。

  • 新建工程文件列表如下:

LUA固件调试esp8266 esp8266固件开发教程_wifi_04

  • 工程使用简介

在软件的左下角有如下图的一排图标,如图所示分别是:编译、下载固件、串口调试终端

LUA固件调试esp8266 esp8266固件开发教程_串口_05

工程建立完成后,编译工程,如果出现如下错误:

#include “user_config.h” ^ compilation terminated. In file included from C:\Users\xxxxx\.platformio\packages\framework-esp8266-nonos-sdk\driver_lib\include/driver/spi.h:30:0, from C:\Users\NeoNan.platformio\packages\framework-esp8266-nonos-sdk\driver_lib\driver\spi_overlap.c:26: C:\Users\xxxxx\.platformio\packages\framework-esp8266-nonos-sdk\include/osapi.h:30:25: fatal error: user_config.h: No such file or directory

需要编辑当前工程的platformio.ini文件,增加build_flags = -I include/,修改后编译通过。

[env:nodemcuv2]
platform = espressif8266
board = nodemcuv2
framework = esp8266-nonos-sdk
build_flags = -I include/ 	#新增修改

1.3、开发资料

开发资料可在乐鑫官网下载。

  • ESP8266 技术参考手册
  • ESP8266 SDK 入门指南 (仅针对旧版 SDK V2.X 及之前版本)
  • ESP8266 Non-OS SDK API 参考
  • ESP8266 SDK 入门指南

等资料,不一一列举。

2、小试牛刀——串口使用

工程建立完成后,我们尝试第一个功能,串口输出打印。

将路径C:\Users\{username}\.platformio\platforms\espressif8266\examples\esp8266-nonos-sdk-blink中的src目录和include目录下的文件,复制添加到我们自己的工程对应的目录中,分别是user_main.c和user_config.h文件。

在user_main.c文件user_init函数中,我们做如下修改:

void ICACHE_FLASH_ATTR user_init(void)
{
    gpio_init();

    uart_init(115200, 115200);	//初始化串口波特率
    os_delay_us(1000);  //延时,等待串口稳定
    os_printf("\r\n================================\r\n");
    os_printf("SDK version:%s  \r\n", system_get_sdk_version());//打印SDK版本号
    os_printf("Hello World \r\n");
    os_printf("\r\n================================\r\n");

}

修改完编译,下载到开发板中复位,使用串口调试助手查看输出的信息如下:

s$␀d��<␀�$�<␃␄␌␄�␄d�␄c|��␂�␓�{�#�␌#��'o�lo'���␌b␜p��$;drdp�o�␐␃␄␌�␄l␄␄␌␄␌␄#␌'�<␃�l�l�␜p␌��o'�␀$��d`␃�␛␓o'l�l`␃␏␂n;�ۛg␄␌#�␇l`�'␌␄␄��c�od�␄��ng�␀␄�␇dp�'�␘
␃␄␌{�����␄␄␌␄c␌'�<␃␌$�␌b��'g�␀d�␄l`␂�␒␛'o␄l`␂␎␂n;�ۛg␄␌␛�l`␂p�'�␘␃␄␌{������␄␌␄c␄'�<␃�$LJ�c��gn�␀␄␄l`␃�␛␛go␄l`␃␇␃';Ǜ�o␄␌��� ␃␇{��'␌␄��`␃��␃�␒�g�;��'|�␄l␄ld
l`␃␜c�␛␃␄�|␃s�␃l�g�␌�n�␀␄l`␂��s�d�d␓�
================================
SDK version:2.1.0(7106d38)  
Hello World

================================
mode : null

前面打印的乱码是8266启动过程中串口波特率默认为76800,在串口初始化后,波特率修改为115200打印的信息输出显示正常。