реклама на сайте
подробности

 
 
> Статическая таблица в памяти программ
avat
сообщение May 15 2007, 06:41
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 19
Регистрация: 1-04-07
Пользователь №: 26 686



Здравствуйте. Начал осваивать AVR, пользуюсь WinAVR и GCC. Массив данных, описанный как static unsigned char myarray[10][10] компилируется в SRAM. А как сделать так, чтобы массив лежал в коде программы, т.к. он не будет модифицироваться программой в принципе, а оперативной памяти не хватает на весь массив? Пользуюсь только #include <avr/io.h>, #include <avr/interrupt.h> - может, есть еще что-то нужное в моем случае?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Quasar
сообщение May 15 2007, 07:23
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 257
Регистрация: 2-12-06
Из: Default City
Пользователь №: 23 021



Const скажет компилятору о том, что это не модифицируется, но расположение всё равно будет в sram.

Я делал так:

Код
#include <avr/pgmspace.h>

const uint8_t nameMas0[] PROGMEM= {    .....   };

.....
//Считывание
i = pgm_read_byte(&nameMas0[нумбер]);


umup

Опередил smile.gif

Сообщение отредактировал Quasar - May 15 2007, 07:25
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 12:55
Рейтинг@Mail.ru


Страница сгенерированна за 0.01368 секунд с 7
ELECTRONIX ©2004-2016