2017-08-16 1086 views
0

當我編譯一個簡單的眨眼草圖上的Arduino的ESP8266,它看起來像內存的38%是使用的東西:動態內存ESP8266 Arduino的可用內存

全局變量使用31576字節(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) 
} 

回答

0

使用它,你初始化和固件庫的變量。如果你想寫一個更長的代碼,你需要更多的內存。通過使用ESP的基本庫,它已經佔用了配置和固件設置的一些內存。如果在程序中使用較少的變量和簡單的邏輯,這將大大減少程序的大小。實際上,即使對於更大的程序,它也會佔用更少的內存,因爲所有的庫都包含在更大的程序中也是一樣的。 但是,如果它真的很專注於您的邏輯並減少ESP的壓力並將其交給大型計算機來執行復雜的計算和邏輯(還有助於降低功耗和散熱)。

+0

我明白,但是,如果我不使用它,哪個庫和它可以被禁用? – s4581218

+0

這是一個固件設置系統。我們不能禁用它。但是您可以在ESP中轉儲一箇中等大小的程序,而不需要太多內存。由於所有必需的文件已包含在固件設置本身中。您現在將使用的唯一內存純粹用於您的邏輯和變量聲明。 – Perseus784