Страницы

Поиск по вопросам

вторник, 17 марта 2020 г.

Как в Atmel Studio 6 разместить массив во flash памяти?

#c #массивы #avr_gcc #atmel_studio #flash_память


Например, есть массив:
unsigned int tabz[] = {64, 128, 256, 512, 1024, 2048, 4096};

В CodeVisionAVR, чтобы разместить этот массив во flash, надо написать так:
flash unsigned int tabz[] = {64, 128, 256, 512, 1024, 2048, 4096};

В Atmel Studio 6 так нельзя.
Как в Atmel Studio 6 разместить массив во flash памяти?    


Ответы

Ответ 1



Для flash-памяти необходимо объявлять так: const unsigned char Scena[4] PROGMEM = {1,2,3,4} Обязательно указывать const, иначе пихает в ОЗУ!

Ответ 2



Пример для AVR GNU: #include #include uint8_t string[12] PROGMEM = {"hello world!"}; int main(void) { UDR0 = pgm_read_byte(&string[10]); }

Комментариев нет:

Отправить комментарий