【问题标题】:ESP8266 Arduino available memoryESP8266 Arduino 可用内存
【发布时间】:2017-08-16 16:59:15
【问题描述】:

当我在 Arduino 上为 ESP8266 编译一个简单的 Blink 草图时,看起来 38% 的内存被某些东西占用了:

全局变量使用 31,576 字节 (38%) 的动态内存,剩下 50,344 字节用于局部变量。最大值为 81,920 字节。

这段记忆去哪儿了?我有一个需要大量内存的应用程序,想看看我是否可以禁用/减少某些 Arduino 内置库的使用。

代码如下:

void setup() {
  pinMode(LED_BUILTIN, OUTPUT);
  // Initialize the LED_BUILTIN pin as an output
}

void loop() {
  digitalWrite(LED_BUILTIN, LOW);
  // Turn the LED on (Note that LOW is the voltage level
  // but actually the LED is on; this is because
  // it is acive low on the ESP-01)
  delay(1000);
  // Wait for a second
  digitalWrite(LED_BUILTIN, HIGH);
  // Turn the LED off by making the voltage HIGH
  delay(2000);
  // Wait for two seconds (to demonstrate the active low LED)
}

【问题讨论】:

    标签: memory arduino ram esp8266


    【解决方案1】:

    它由您初始化的变量和固件库使用。如果您想编写更长的代码,您将需要更多的内存。通过使用 ESP 的基本库,它已经为配置和固件设置占用了一些内存。如果您在程序中使用较少的变量和简单的逻辑,那将大大减少您的程序大小。实际上,即使对于更大的程序,它也会占用更少的内存,因为所有库都包含在更大的程序中也是一样的。 但如果它真的很大,请专注于您的逻辑并减少 ESP 的压力,并将其交给大型计算机进行复杂的计算和逻辑(也有助于减少功耗和散热)。

    【讨论】:

    • 我明白,但是如果我不使用它,哪个库,也许它可以被禁用???
    • 这是一个固件设置系统。我们不能禁用它。但是您可以在没有太多内存的情况下将中等大小的程序转储到 ESP 中。由于所有必要的文件都已包含在固件设置本身中。您现在将使用的唯一内存纯粹用于您的逻辑和变量声明。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-10-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-08
    • 2018-11-17
    相关资源
    最近更新 更多