+2 голосов
Я знаю, что на arduino uno есть 3 типа памяти: RAM, FLASH, EEPROM. При этом EEPROM и FLASH являются энергонезависимыми типами.

Как использовать EEPROM я узнал, но есть ли способы использовать FLASH для хранения своих данных, если скетч не занимает весь её объем?
(925 баллов) 39 74 103

1 Ответ

0 голосов
Ключевое слово PROGMEM записывает данные не в SRAM, а во flash-память (т.е. в программную память). Описание типов памяти, доступных на
Arduino , можно найти тут .
Ключевое слово RROGMEM — это модификатор переменных, и его можно использовать только с теми типами данных, которые определены в библиотеке
pgmspace.h . Он говорит компилятору
«разместить информацию во flash-памяти» , а не в SRAM , как это происходит обычно. Также есть интересная функция  F()
Подробней тут: [URL=http://wikihandbk.com/wiki/Arduino:Справочник_языка_Arduino/PROGMEM
(3.1 тыс. баллов) 14 20 41
PROGMEM пишет константы во флеш, а не переменные. Не надо путать эти понятия.
Добро пожаловать на Бредборд! Сайт вопросов и ответов на тему Arduino, Raspberry Pi и хоббийной электроники в целом. Цель Бредборда — быть максимально полезным. Поэтому мы строго следим за соблюдением правил, боремся с холиворами и оффтопиком.

    За этот месяц ещё никого.

    ...