ESP模块因其Wi-Fi功能(如ESP8266、ESP-12E等)而广受欢迎。这些都是具有Wi-Fi功能的强大微控制器模块。还有一个ESP模块,它比以前的ESP模块更强大,更通用 - 其名称为ESP32。它具有蓝牙和Wi-Fi连接,并在许多物联网项目中使用了ESP32。但是很少有人知道ESP32是双核微控制器。
ESP32具有两个32位Tensilica Xtensa LX6微处理器,这使其成为功能强大的双核(core0和core1)微控制器。有单核和双核两种版本。但是双核版本更受欢迎,因为它们之间没有明显的价格差异。
可以使用Arduino IDE、Espressif IDF、Lua RTOS等对ESP32进行编程。使用Arduino IDE进行编程时,由于Core0已编程用于RF通信,因此代码仅在Core1上运行。但是在本篇文章中,我们将展示如何使用ESP32的两个内核同时执行两项操作。在这里,第一个任务是使板载LED闪烁,第二个任务是从DHT11传感器获取温度数据。
首先让我们看看多核处理器比单核的优势。
多核处理器的优势
1. 当有两个以上的进程要同时工作时,多核处理器很有用。
2. 由于工作分布在不同的内核之间,因此速度提高了,并且可以同时完成多个过程。
3. 可以降低功耗,因为当任意内核处于空闲模式时,