ESP32: Arduino + FreeRTOS (in VSCode/PlatformIO)

所在平台: Udemy

课程主页: https://www.udemy.com/course/esp32-arduino-freertos-in-vscodeplatformio/

课程评论:没有评论

第一个写评论        关注课程

课程简介

## ESP32:Arduino + FreeRTOS(在 VSCode/PlatformIO 中)课程总结 本课程将深入讲解 ESP32 的多线程 Arduino 编程,使您能够将强大的 Arduino 库功能与 FreeRTOS 的多线程能力相结合。 **课程内容概要:** * **环境搭建与项目入门:** * 介绍适合 Arduino 开发的 VSCode,并指导您完成安装。 * 安装 PlatformIO 扩展,实现 ESP32 程序的编译和调试。 * 学习使用 PlatformIO 提供的 `wifiscan` 项目,掌握 VSCode 中的项目操作。 * 将项目迁移至 Arduino IDE 并运行,以及从 VSCode 导入 Arduino IDE 项目。 * **ESP32 Arduino 程序解析与多线程编程:** * 理解 ESP32 Arduino 程序的运行机制,找到主文件。 * 编写一个包含三个线程的简单多线程程序。 * **多线程程序深入理解与优先级:** * 详细分析多线程程序的运行,并通过示例理解任务优先级对程序行为的影响。 * **任务同步机制(一):互斥锁(Mutex):** * 学习任务间同步的方法。 * 修改现有程序,使用互斥锁实现两个线程的同步。 * **任务同步机制(二):临界区与自旋锁(Spinlock):** * 将一个任务运行在另一个处理器核心上。 * 通过示例学习临界区的概念,了解自旋锁的作用。 * **任务同步机制(三):信号量(Semaphore)与队列(Queue):** * 学习使用二进制信号量和计数信号量进行任务同步。 * 深入学习队列的使用。 * **事件与标志(Flags and Events):** * 讲解标志和事件在任务通信中的作用。 * **硬件中断与任务同步:** * 探索硬件中断与任务之间的同步机制。 * 为现有程序添加定时器中断,并通过中断标志的示例,学习在多核心环境下使用中断标志。 * **更多多线程编程示例:** * 课程还将继续探讨 ESP32 Arduino 多线程编程的其他实用示例。 完成本课程后,您将能够高效地利用 ESP32 的多核优势,开发出更具响应性和灵活性的 Arduino 项目。

课程评论(0条)

课程详情

In this course I will tell about multithreaded arduino programming for ESP32. After completing it, you will learn how to combine the powerful functionality of arduino libraries with multithreaded programming for FreeRTOS.In the first introductory lecture, I will introduce you to VSCode, which is well suited for developing arduino programs. We will install it and the PlatformIO extension, which allows to compile and debug programs for arduino. Next, we will download a simple arduino-wifiscan project provided by PlatformIO, and use its example to learn how to work with projects in VSCode. Next, we will transfer this project to the original Arduino IDE and run it. After that, we will open the sample project in the Arduino IDE and import it from VSCode.In the next lecture, we will figure out how the arduino program for ESP32 works and find the main file for it. Next, we will write a simple multithreaded program with three threads.In the third lecture, we will study in detail the work of this program and use examples to understand what the priorities of tasks affect.In the next, fourth lecture, we will begin to study ways to synchronize between tasks and change a previously written program to synchronize two threads using a mutex.In the fifth lecture, we will run one of the tasks on another processor core and use its example to get acquainted with critical sections and find out what spinlock is.In the sixth lecture, I will show you how to synchronize tasks using semaphores. We will get acquainted with binary and counting semaphores. Than in this lecture we will study queues.In the seventh lecture I will talk about flags and events.In the eighth lecture, I will tell you how synchronization is performed between hardware interrupts and tasks. We will add an interrupt from the timer to the previously written program and use its example to consider the use of flags from the interrupt. Different processor cores will be used.Next, several more examples of multi-threaded programming of ESP32 with arduino will be considered.

课程标签

0人关注该课程

主题相关的课程