#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]); }
Комментариев нет:
Отправить комментарий