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

Как использовать EEPROM я узнал, но есть ли способы использовать FLASH для хранения своих данных, если скетч не занимает весь её объем?
(905 баллов) 3 35 80

1 Ответ

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

    8 балл(ов)

  2. dmipec

    2 балл(ов)

  3. wickiup

    2 балл(ов)

  4. Un_ka

    2 балл(ов)

  5. antonlewz

    1 балл(ов)

  6. Алексей1307

    1 балл(ов)

Награды месяца
1-е место: Arduino MKR GSM 1400
2-е место: Arduino MKR Wi-Fi 1010
3-е место: Arduino MKR Zero

...