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

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

1 Ответ

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

    75 балл(ов)

  2. Un_ka

    54 балл(ов)

  3. parovoZZ

    12 балл(ов)

  4. sser

    10 балл(ов)

  5. Тёмик

    5 балл(ов)

  6. NesteruS

    5 балл(ов)

Награды месяца
1-е место: OLED-дисплей (Troyka-модуль)
2-е место: Графический экран 128×64
3-е место: Текстовый дисплей 16×2 (Troyka-модуль)

...