Типы памяти в Arduino

Во всех платах Arduino существуют обычно три типа памяти:

  1. Флэш-память используется для хранения программ или скетчей, разные платы имеют разный объем;
  2. Оперативная память или ОЗУ необходима для выполнения различных операций и для временного хранения данных;
  3. Энергонезависимая память необходимая для постоянного хранения данных, даже при выключенном питании. 

При написании программ для микроконтроллеров нужно рационально использовать и правильно выбирать место хранения объявленных данных. Не правильное написание программ может привести к тому, что вся память может быть израсходована, и это приведет к сбою программ.

По умолчанию все объявленные переменные используют оперативную память. При объявлении больших массивов данных оперативной памяти может не хватить. К примеру следующий код объявляет массив символов.

char chartext[]=”Hello from chartext array”; 

Каждый символ занимает один байт в оперативной памяти процессора. 

Для того чтобы избежать переполнения ОЗУ необходимо использовать следующие способы:

  1. Использовать память программ или флэш - память для объявления большим массивов данных. Для этого используется ключ PROGMEM при объявлении данных.
  2. Хранение данных на компьютере и передача их на плату Arduino.
  3. Использование определенных типов данных. Например, если максимальное значение числа не превышает 255, то имеет смысл его объявить как Char. Оно будет занимать 1 байт, а если бы мы его объявили как тип int, то оно занимало бы два байта.

Добавить комментарий


Защитный код
Обновить

Последние комментарии

Последнии темы форума

  • Нет сообщений для показа