学习ESP32笔记

学习ESP32笔记(VSCode下面基于Arduino开发)

1.platform IO插件的下载(提前安装好python,要下载3.5以上的Python,不然在中间的一部分会一直报错)

VS Code下载platform IO时,开加速器(VPN),并且关闭防火墙

这一步比较慢,大概等十来分钟。

请添加图片描述

下面这个就是下载成功。

请添加图片描述

2.创建ESP32Demo

请添加图片描述

关闭防火墙,用手机热点给电脑连接,打开VPN(在早上创建成功的,早上是玄学),或者也可以不用VPN?

3.代码的编译和下载

编译

请添加图片描述

下载

请添加图片描述

那个端口它是自动选择的,不用你自己去选

请添加图片描述

串口的选择也可以自己选

请添加图片描述

可以看到开发板上面的灯会闪烁

请添加图片描述

4.快捷键的设置

请添加图片描述

5.添加别人写的代码工程

请添加图片描述

添加完成之后,然后打开(多刷新几遍,就是多点Projects下面的那几个选项)

请添加图片描述

在这边就能看到你所添加的工程文件

请添加图片描述

在这边选择你要编译的工程

请添加图片描述

在文件中修改的代码,最终都会修改到这个工程指向的路径的文件

请添加图片描述

没有工作区间了,就在这打开以前打开的文件

请添加图片描述

6.其余库的安装

请添加图片描述

库的删除

请添加图片描述

请添加图片描述

然后在platformio.ini中删除你刚删除库在lib_deps中对应的名字,这样就能完全删除库了

请添加图片描述

示例的阅读,和将这个库加入到你选择的工程里面(和Arduino IDE差不多)

请添加图片描述

7.ESP32关于PlatformIO的配置信息

看哔站的ESP32的BLE_哔哩哔哩_bilibiliP8

8.ESP32与FreeRTOS

FreeRTOS - ESP32 - — ESP-IDF 编程指南 v4.3 文档 (espressif.com)

9.ESP32外围电路设计(具体在乐鑫官网查看)

请添加图片描述
然后根据需求选择,我这选择模组
请添加图片描述
请添加图片描述
点进去就能看到他的规格书了

请添加图片描述
在往下拉,就能看到他的原理图了
请添加图片描述

10.ESP32代码示例(具体在乐鑫官网查看)

乐鑫科技

代码示例-github

请添加图片描述

请添加图片描述
请添加图片描述

11.API参考

太极创客Arduino编程语句参考
ESP8266-Arduino库 开发参考资料

因为是在VSCode下面基于Arduino开发,所以一些函数可以用ESP8266的来开发

ESP32教程一:arduino环境搭建(这里面有怎么下载ESP32arduino例程的教程)

ESP32-arduino-GitHub
请添加图片描述

ESP32使用Arduino环境,安装、编译、下载、安装库

12.ESP32之FreeRTOS使用

发现不用移植FreeRTOS,就可以用创建任务函数,可能VScode中自带了?

ESP32-Arduino中的FreeRTOS使用
在platformio中不需要引入FreeRTOS的头文件,直接可用

------------------------------分割线----------------------------------------------

当你用platformio创建第一个项目的时候,就已经帮你下载好了freertos,不用你再去移植了

请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述

**只要包含了这个头文件:#include <Arduino.h>就可以去使用FreeRTOS了 **

请添加图片描述

代码如下:

/*
//  多线程基于FreeRTOS,可以多个任务并行处理;
//  ESP32具有两个32位Tensilica Xtensa LX6微处理器;
//  实际上我们用Arduino进行编程时只使用到了第一个核(大核),第0核并没有使用
//  多线程可以指定在那个核运行;
 */

#include <Arduino.h>
#define USE_MULTCORE 0

void xTaskOne(void *xTask1)
{
    while (1)
    {
        Serial.printf("Task1 \r\n");
        delay(500);
    }
}

void xTaskTwo(void *xTask2)
{
    while (1)
    {
        Serial.printf("Task2 \r\n");
        delay(1000);
    }
}

void setup()
{
    Serial.begin(115200);
    delay(10);

}

void loop()
{

#if !USE_MULTCORE

    xTaskCreate(
        xTaskOne,  /* Task function. */
        "TaskOne", /* String with name of task. */
        4096,      /* Stack size in bytes. */
        NULL,      /* Parameter passed as input of the task */
        1,         /* Priority of the task.(configMAX_PRIORITIES - 1 being the highest, and 0 being the lowest.) */
        NULL);     /* Task handle. */

    xTaskCreate(
        xTaskTwo,  /* Task function. */
        "TaskTwo", /* String with name of task. */
        4096,      /* Stack size in bytes. */
        NULL,      /* Parameter passed as input of the task */
        2,         /* Priority of the task.(configMAX_PRIORITIES - 1 being the highest, and 0 being the lowest.) */
        NULL);     /* Task handle. */

#else

    //最后一个参数至关重要,决定这个任务创建在哪个核上.PRO_CPU 为 0, APP_CPU 为 1,或者 tskNO_AFFINITY 允许任务在两者上运行.
    xTaskCreatePinnedToCore(xTaskOne, "TaskOne", 4096, NULL, 1, NULL, 0);
    xTaskCreatePinnedToCore(xTaskTwo, "TaskTwo", 4096, NULL, 2, NULL, 1);

#endif

    while (1)
    {
        Serial.printf("XTask is running\r\n");
        delay(1000);
    }
}

请添加图片描述

请添加图片描述

ESP32-Arduino中的FreeRTOS使用

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Aurora Smith

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值