本系列文章以 ESP8266 RTOS SDK 中自带的样例程序为基础,逐步解析 ESP8266 RTOS 的编程模型,主要的API,及在开发中可能遇到的问题。
作为入门,当然是永远的 hello world。
SDK 中自带的 hello world 例程位于 examples/get-started/hello_world 目录中。 项目包含一个 C 语言的源文件 - hello_world_main.c(位于 main 目录中), 其它的文件是 Make 构建系统需要的配置文件。
主程序解析
打开 hello_world_main.c 文件,可以看到代码如下:
1 |
|
从程序可以看出,一个 ESP8266 应用的入口函数为 app_main, 而不是通常 C 语言中的 main 函数。这个是由程序本身运行在 ESP8266 RTOS 的环境所决定的。
接下来的语句打印了精典的 “Hello world!”, 该语句是输出到标准输出设备,通常是无法看到的,如果我们采用 make monitor 来运行,则输出会转到 PC 端的屏幕上。
再下面就是调用API - esp_chip_info 来获得板的信息,信息包含在 esp_chip_info_t 结构中。
后面就是根据获取的信息显示板中的 CPU 核心数量,版本信息,存储信息等。
接下来是做了一个延时操作,最后使用API - esp_restart 重启了板上的系统。
运行案例
要运行样例,首先需要运行 make menuconfig 对项目进行配置,通常只需要根据开发电脑(PC)的实际连接情况改变串口设备即可。可以参考…
配置完成后,使用:
1 | make flash |
命令完成程序的编译,构建及上载到板。
如果没有错误,则运行
1 | make monitor |
监控程序的运行,启动 monitor 以后,可以使用组合键 CTRL+] 终止监控。