zl程序教程

您现在的位置是:首页 >  其他

当前栏目

在我的MacBook上捣鼓ESP8266

2023-04-18 16:41:49 时间

周三是我们的篮球日,打篮球后总是会有些兴奋,然后就容易睡不着,额,睡不着就拿我的ESP8266开发板出来捣鼓一下。

597e62b540f2d43f28a4201f05adc1a6.jpeg

先下载编译工具链

https://github.com/espressif/ESP8266_RTOS_SDK

bed04ff64bc81353e31493dbedb6bef8.jpeg

下载sdk

git clone https://github.com/espressif/ESP8266_RTOS_SDK.git

 配置编译链环境变量

下面的目录路径根据自己的实际情况设定

PATH=$PATH:/System/Volumes/Data/Users/crisqifawei/Documents/work/ESP8226/Toolchain/xtensa-lx106-elf/bin

配置sdk的环境变量

下面的目录路径根据自己的实际情况设定

export IDF_PATH=/System/Volumes/Data/Users/crisqifawei/Documents/work/ESP8226/ESP8266_RTOS_SDK

如果想上面修改重启后依然生效,就需要修改

vim ~/.bash_profile
source ~/.bash_profile

menuconfig配置开发板信息

cd /System/Volumes/Data/Users/crisqifawei/Documents/work/ESP8226/ESP8266_RTOS_SDK/examples/get-started/hello_world
make menuconfig

注意串口号在Macbook上不一样,需要在config里面修改下

  • 1、修改烧录串口设备

名字是你用usb连接板子后,在设备文件里面会看到的

caf67efdee230e121f3822154bfab82a.jpeg 8e14e0321fba421dc4059dbad1ff8e18.jpeg
  • 2、修改printf 输出串口配置

这里需要把串口的波特率修改成115200,要不然printf,当然了,你也可以不修改

我这里是为了让我的输出波特率和串口下载的波特率一致。

Component config --->

Common ESP-related --->

(115200) UART console baud rate

cc3a1f35591e7a5cd26eac0da4d91e88.png

编译

make all 会全部编译一次

但是你要烧录到时候,执行make flash的时候,它还会编译一次

所以如果你板子拿到了,直接来一次make flash也不是不可以

0ff1c9f429019f14fbfdda9029463c34.jpeg

编译过程中出错了,按照提示安装需求的依赖就可以

/Users/crisqifawei/opt/miniconda3/bin/python -m pip install --user -r /System/Volumes/Data/Users/crisqifawei/Documents/work/ESP8226/ESP8266_RTOS_SDK/requirements.txt

程序代码

代码路径

ESP8266_RTOS_SDK/examples/get-started/hello_world

/* 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"
#include "freertos/task.h"
#include "esp_system.h"
#include "esp_spi_flash.h"


void app_main()
{
    printf("Hello world!
");

    /* Print chip information */
    esp_chip_info_t chip_info;
    esp_chip_info(&chip_info);
    printf("This is ESP8266 chip with %d CPU cores, WiFi, ",
            chip_info.cores);

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

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

    for (int i = 100000; i >= 0; i--) {
        printf("Restarting in %d seconds...
", i);
        vTaskDelay(1000 / portTICK_PERIOD_MS);
    }
    printf("Restarting now.
");
    fflush(stdout);
    esp_restart();
}

串口输出

cf3734dfaac600da3378eae01a45e9c4.jpeg

67affc5d465e1801cc7fd49de8a727ac.jpeg

0a8d4fff4fa9f17d45aff27ad5110fca.png