Оптимизация использования оперативной памяти
Добавлено: 27 дек 2016, 19:01
При использовании в программе нескольких библиотек возникает проблема дефицита оперативной памяти.
Для UNO совсем не хватает, для Leonardo выглядит так:
// библиотека для SD карт
#include <SPI.h>
#include <SD.h>
// библиотека для эмуляции Serial порта
#include <SoftwareSerial.h>
// библиотека для работы с GPRS устройством
#include <GPRS_Shield_Arduino.h>
// библиотека wire
#include <Wire.h>
// библиотека дисплея на шине I2C
#include <LiquidCrystal_I2C.h>
Сообщение компилятора:
Global variables use 2 089 bytes (81%) of dynamic memory, leaving 471 bytes for local variables. Maximum is 2 560 bytes.
Low memory available, stability problems may occur.
Вопрос:
Есть ли какие приемы оптимизации, или нужно использовать другой контроллер?
Для UNO совсем не хватает, для Leonardo выглядит так:
// библиотека для SD карт
#include <SPI.h>
#include <SD.h>
// библиотека для эмуляции Serial порта
#include <SoftwareSerial.h>
// библиотека для работы с GPRS устройством
#include <GPRS_Shield_Arduino.h>
// библиотека wire
#include <Wire.h>
// библиотека дисплея на шине I2C
#include <LiquidCrystal_I2C.h>
Сообщение компилятора:
Global variables use 2 089 bytes (81%) of dynamic memory, leaving 471 bytes for local variables. Maximum is 2 560 bytes.
Low memory available, stability problems may occur.
Вопрос:
Есть ли какие приемы оптимизации, или нужно использовать другой контроллер?