Модераторы: PILOT, ManiaK, Mazzi
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> WINAVR PGMSPACE, Инициализация данных в памяти кода 
:(
    Опции темы
Ivan.
  Дата 7.11.2006, 18:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 291
Регистрация: 2.11.2004

Репутация: 1
Всего: 2



для того, чтобы поместить данные в память кода в AVR есть специальный атрибут PROGMEM.
например: char PROGMEM Text[] = "Hello";
Для размещения данных в коде внутри вызова функции делается так:
например: printf_P(PSTR("Hello"));
А мне необходимо реализовать такое:
struct TProp {
        char *Text;
        int Value;
};
TProp PROGMEM Prop[] = {
        { PSTR("AAAAA"), 1 },
        { PSTR("BBBB"),   2 }
};
на такой код компилятор ругается.
можно конечно сделать и по иному:
char PROGMEM Text1[] = "AAAAA";
char PROGMEM Text2[] = "BBBB";
TProp PROGMEM Prop[] = {
        { Text1, 1 },
        { Text2, 2 }
};
но это не очень читабельно.
Подскажите как это сделать


--------------------
Я могу ВСЁ, вопрос - сколько времени у меня это займет!
PM MAIL ICQ   Вверх
PILOT
Дата 7.11.2006, 22:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


производство
****


Профиль
Группа: Модератор
Сообщений: 2724
Регистрация: 4.4.2002
Где: москва

Репутация: 20
Всего: 54



Код

struct PROGMEM Prop[] = {
        { PSTR("AAAAA"), 1 },
        { PSTR("BBBB"),   2 }
};


а так?

СУВ.


--------------------
тут могла быть Ваша реклама...
PM MAIL WWW ICQ   Вверх
Ivan.
Дата 8.11.2006, 18:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 291
Регистрация: 2.11.2004

Репутация: 1
Всего: 2



Не понял синтексиса, но проверил.
error: expected unqulified-id befor '[' token


--------------------
Я могу ВСЁ, вопрос - сколько времени у меня это займет!
PM MAIL ICQ   Вверх
me21
Дата 12.11.2006, 02:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 11
Регистрация: 13.1.2006

Репутация: нет
Всего: нет



По-моему, в faq по winavr приводился пример с массивом строк, причем и сами строки и указатели на них размещались в программной памяти. Исходник там как раз такой, какой ты назвал "не очень читабельным".
PM MAIL   Вверх
CROC
Дата 12.11.2006, 15:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 51
Регистрация: 16.10.2005
Где: Perm

Репутация: нет
Всего: нет



Цитата(me21 @  12.11.2006,  02:48 Найти цитируемый пост)
По-моему, в faq по winavr ....

а где он? в самой winavr?

PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Микроконтроллеры (MCU) и микропроцессоры (MPU)"
PILOT ManiaK
UniBomb Mazzi

На данный раздел помимо Правил форума распространяются текже следующие правила:


  • Прежде чем создать тему воспользуйтесь поиском или посмотрите в faq. Возможно на форуме уже есть ответ на ваш или близкий к вашему вопрос.
  • В заголовке темы в квадратных скобках обозначьте используемое семейство микроконтроллера: [avr],[pic],[arm].
  • При создании темы с вопросом указывайте участок кода с ошибкой, версию компилятора, схемы подключения, fuse биты и прочие данные, которые помогут найти правильный ответ. Для форматирования текста программ используйте кнопку код.
  • Новое сообщение должно иметь прямое отношение к тематике этого раздела. Для флуда, просьб выполнить задание, поиска партнёров или исполнителей существуют свои разделы.
  • Если вы заметили несовместимое с правилами сообщение, то можете уведомить об этом модератора раздела нажав кнопку Репорт у соответствующего сообщения.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, PILOT, ManiaK, UniBomb, Mazzi.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Микроконтроллеры (MCU) и микропроцессоры (MPU) | Следующая тема »


 




[ Время генерации скрипта: 0.1041 ]   [ Использовано запросов: 20 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.