ESP8266模组SDK开发之helloworld和点灯
在ESP8266模组SDK开发环境搭建一文中已经介绍过了SDK开发环境的搭建以及工程样板app的创建,本文继续在此基础上介绍两个任务工程helloworld和点灯
1. helloworld任务
helloworld任务要实现的功能:使用freeRTOS创建一个任务,每隔1s串口打印hello world
实现步骤如下:
–> 在ESP8266_RTOS_SDK目录下新建helloworld文件夹,把app目录下所有文件拷贝到该文件夹中
–> 使用Source Insight编辑器,编辑和浏览代码;新建工程,并将helloworld和include文件夹下的文件添加到工程中
–> 在user_main.c文件下添加helloworld任务实现函数,在user_init函数中创建helloworld任务
–> 回到ESP8266编译器中,在helloworld文件夹下,运行gen_misc.sh文件,依次确认配置(Y/1/2/3/4),编译完成
–> 烧写bin文件到ESP8266后,打开串口助手,模组复位后,串口输出相关信息后,每隔1s输出helloworld
2. 点灯任务
点灯任务要实现的功能:使用freeRTOS创建一个任务,使NodeMCU板上的LED灯,1s种闪烁一次,同时串口打印出LED状态
原理图:由下图可知,LED1连接在GPIO16上,低电平点亮,高电平关闭
实现步骤如下:
–> 在ESP8266_RTOS_SDK目录下新建led文件夹,把app目录下所有文件拷贝到该文件夹中,同时新建driver,并将driver_lib/driver文件夹中的所有文件拷贝至led/driver中,将driver_lib/include文件夹中的所有文件拷贝至led/include中
–> 修改led文件夹下的Makefile,添加工程编译子目录driver,生成libdriver.a静态库
–> 在Source Insight中添加led工程,在user_main.c文件下添加LED初始化函数以及LED任务实现函数,在user_init函数中初始化LED并创建LED任务
–> 回到ESP8266编译器中,在led文件夹下,运行gen_misc.sh文件,依次确认配置(Y/1/2/3/4),编译完成
–> 烧写bin文件到ESP8266后,打开串口助手,模组复位后,led灯每隔1s闪烁一次,串口每隔1s输出ledon/ledoff