Типы памяти в Arduino
- Подробности
-
Категория: Arduino
Во всех платах Arduino существуют обычно три типа памяти:
- Флэш-память используется для хранения программ или скетчей, разные платы имеют разный объем;
- Оперативная память или ОЗУ необходима для выполнения различных операций и для временного хранения данных;
- Энергонезависимая память необходимая для постоянного хранения данных, даже при выключенном питании.
При написании программ для микроконтроллеров нужно рационально использовать и правильно выбирать место хранения объявленных данных. Не правильное написание программ может привести к тому, что вся память может быть израсходована, и это приведет к сбою программ.
По умолчанию все объявленные переменные используют оперативную память. При объявлении больших массивов данных оперативной памяти может не хватить. К примеру следующий код объявляет массив символов.
char chartext[]=”Hello from chartext array”;
Каждый символ занимает один байт в оперативной памяти процессора.
Для того чтобы избежать переполнения ОЗУ необходимо использовать следующие способы:
- Использовать память программ или флэш - память для объявления большим массивов данных. Для этого используется ключ PROGMEM при объявлении данных.
- Хранение данных на компьютере и передача их на плату Arduino.
- Использование определенных типов данных. Например, если максимальное значение числа не превышает 255, то имеет смысл его объявить как Char. Оно будет занимать 1 байт, а если бы мы его объявили как тип int, то оно занимало бы два байта.
Добавить комментарий