野路子学习esp32(五) Hello World源码解析@a.宏万

本示例演示如何开启一个任务,并间隔打印 “Hello World

首次使用项目时,必须先执行 make menuconfig 后方可编译

硬件:

  • ESP32 模组
  • USB转TTL

软件:

  • Cygwin + Eclipse 开发环境
  • 串口工具
/* Hello World Example

   This example code is in the Public Domain (or CC0 licensed, at your option.)

   Unless required by applicable law or agreed to in writing, this
   software is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
   CONDITIONS OF ANY KIND, either express or implied.
*/
#include <stdio.h>
#include "freertos/FreeRTOS.h"    //可以看到idf是基于FreeRtos系统
#include "freertos/task.h"
#include "esp_system.h"
#include "esp_spi_flash.h"


void app_main()
{
    printf("Hello world!\n");      //打印内容

    /* Print chip information */
    esp_chip_info_t chip_info;
    esp_chip_info(&chip_info);      //系统初始化
    printf("This is ESP32 chip with %d CPU cores, WiFi%s%s, ",   //打印系统信息
            chip_info.cores,
            (chip_info.features & CHIP_FEATURE_BT) ? "/BT" : "",
            (chip_info.features & CHIP_FEATURE_BLE) ? "/BLE" : "");

    printf("silicon revision %d, ", chip_info.revision);

    printf("%dMB %s flash\n", spi_flash_get_chip_size() / (1024 * 1024),
            (chip_info.features & CHIP_FEATURE_EMB_FLASH) ? "embedded" : "external");

    for (int i = 10; i >= 0; i--) {              
        printf("Restarting in %d seconds...\n", i);
        vTaskDelay(1000 / portTICK_PERIOD_MS);        //延时函数  单位ms
    }
    printf("Restarting now.\n");
    fflush(stdout);              //清除读写缓冲区,立即把输出缓冲区的数据进行物理写入
    esp_restart();               //系统重启
}

 

野路子学习esp32(四) 烧录固件 @a.宏万

 

posted @ 2017-11-02 16:53  创客宏万  阅读(2137)  评论(0编辑  收藏  举报