ESP32 Arduino教程:获取自由堆

2019-06-051.5万
AI 快速预览详细 收起
本教程介绍了如何使用Arduino核心获取和打印ESP32的自由堆内存。通过调用ESP类中的getFreeHeap方法,可以以字节为单位获取自由堆的值,并通过串行连接输出。代码非常简单,只需打开一个串行连接并调用getFreeHeap方法即可。测试时,只需编译并将代码上传到ESP32设备,然后打开Arduino IDE串行监视器即可看到设备上的可用堆空间。
简介
ESP32 Arduino教程旨在解释如何使用Arduino核心获取和打印ESP32自由堆内存。
代码
这个代码非常简单,因为我们已经在EspClass中定义了一个获取自由堆值的方法。请注意,此类方法在名为ESP的外部变量中已经公开。
因此,在Arduino设置函数中,我们首先打开一个串行连接,这样我们就可以输出自由堆的值。
[mw_shl_code=applescript,true]Serial.begin(115200);[/mw_shl_code]
接下来,为了获取自由堆,我们只需调用ESP extern变量的getFreeHeap方法。
此方法不带参数,并以字节为单位返回自由堆的输出。请注意,在其实现过程中,getFreeHeap方法调用IDF框架的esp_get_free_heap_size函数,该函数在此头文件中已经定义。
[mw_shl_code=applescript,true]Serial.println(ESP.getFreeHeap());[/mw_shl_code]
您可以查看以下完整的源代码。请注意,我们将主循环函数留空,因为我们无需在本教程中使用它。
[mw_shl_code=applescript,true]void setup() {

  Serial.begin(115200);

  Serial.println(ESP.getFreeHeap());

}



void loop() {}[/mw_shl_code]
测试代码
如需进行测试,只需在编译并将代码上传到ESP32设备后打开Arduino IDE串行监视器即可。您应该获得类似于图1的输出,该输出显示设备上的可用堆空间。
ESP32 Arduino教程:获取自由堆图1
图1  - 程序输出。

注:本文作者是Nuno Santos,他是一位和蔼可亲的电子和计算机工程师,住在葡萄牙里斯本 (Lisbon)。
他写了200多篇有关ESP32、ESP8266的有用的教程和项目。

查看更多ESP32/ESP8266教程和项目:
中文版教程 : ESP32教程 合集
英文版教程 : ESP32 tutorial 合集


创作许可协议

本项目采用 None(不开放任何权利,保留所有权利) 进行许可。

评论(1)
gada888
gada888
受教了
- 没有更多了 -