2018年10月11日 星期四

DIY - ESP32:ESP32 第一個程式 Hello World(十)

DIY - ESP32:ESP32 第一個程式 Hello World(十):

筆者在 ESP32Goouuu-ESP32 開發板上編譯第一個程式是 Hello World,使用了樂鑫(Espressif)的 ESP-IDF (Espressif IoT Development Framework)原程碼(ESP-IDF V3.0rc1),基於 ESP-IDF 內的 Hello World,目的是測試開發平台,燒錄程式和 Goouuu-ESP32 開發板。

ESP32 第一個程式 Hello World
由於 ESP32 ESP-IDF 是使用 FreeRTOS 操作系統,程式是首先是打印系統資料及 Hello World!,然後進入 For 循環和定義一個計時器 vTaskDelay(1000 / portTICK_PERIOD_MS),循環減至零後便重置程式 esp_restart()。

Hello World 程式的打印系統資料
ESP32 Hello World 程式:
#include
#include "freertos/FreeRTOS.h"
#include "freertos/task.h"
#include "esp_system.h"
#include "esp_spi_flash.h"
#include "sdkconfig.h"                        

void app_main()
{
    printf("BugWorkshop\n");
    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);
    }
    printf("Restarting now.\n");
    fflush(stdout);
    esp_restart();
}

操作系統:Windows 7 64-bit
開發環境:AiThinker05 版本
原程碼: ESP32 ESP-IDF V3.0rc1
程式: DIY-ESP32-001-Hello_World

用 Flash Download 燒錄 Hello World 程式
2018年 10月 11日 天氣報告
氣溫:23.4@ 15:40
相對濕度:百分之 63%
天氣:多雲

沒有留言:

張貼留言