AvrStudio не читаются данные из Program memory

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Закрыто
Logic Star
Родился
Сообщения: 7
Зарегистрирован: Сб дек 18, 2010 20:44:50

AvrStudio не читаются данные из Program memory

Сообщение Logic Star »

Определяю массив в PROGMEM, который находится в структуре см код.
При попытке прочитать данные через (pgm_read_byte) выдает не верные данные.

Код: Выделить всё

typedef struct 
{
   const int8_t *read ;     
} _Query;

const int8_t PROGMEM read   [13]=  {0xE3,0xEE,0xF2,0xEE,0xE2,0x20,0xF7,0xE8,0xF2,0xE0,0xF2,0xFC,0xff};
  const _Query PROGMEM  Query = {read };

void main(void)
{
data=pgm_read_byte(&((Query.read   )[0]));// не те данные. причем указатели (&(Query.read)[0]) и (&(read[0])) равны и оба в progmem.
}
Реклама
Мастер Ломастер
Поставщик валерьянки для Кота
Сообщения: 1995
Зарегистрирован: Ср май 11, 2011 21:37:45
Откуда: Цветочный город
Контактная информация:

Re: AvrStudio не читаются данные из Program memory

Сообщение Мастер Ломастер »

что-то у вас как-то накручено... зачем структура? зачем отдельный экземпляр структуры? зачем столько скобок?

однако, все нормально работает - считываются верные данные из массива...

кстати, при работе с макросом PROGMEM слово const можно не писать
битва с дураками проиграна, победители торжествуют. слава победителям!
Реклама
Logic Star
Родился
Сообщения: 7
Зарегистрирован: Сб дек 18, 2010 20:44:50

Re: AvrStudio не читаются данные из Program memory

Сообщение Logic Star »

Мастер Ломастер писал(а):... зачем структура? зачем отдельный экземпляр структуры? зачем столько скобок?

однако, все нормально работает - считываются верные данные из массива...
Структура для удобочитаемости. В рабочем варианте в ней собрано гораздо больше массивов.
Отдельный экземпляр? А как же создать объект структуры, ведь изначально определен только тип.
А покажите как получилось у вас...
Да, и в какой студии работаете, я в 5-ке
Мастер Ломастер
Поставщик валерьянки для Кота
Сообщения: 1995
Зарегистрирован: Ср май 11, 2011 21:37:45
Откуда: Цветочный город
Контактная информация:

Re: AvrStudio не читаются данные из Program memory

Сообщение Мастер Ломастер »

как я вам покажу? я ваш код вставил в исходник и прогнал в отладчике - читаются элементы массива без проблем. но у меня не пятерка, а старая добрая 4-ка :)
битва с дураками проиграна, победители торжествуют. слава победителям!
Реклама
Эиком - электронные компоненты и радиодетали
Закрыто

Вернуться в «Микроконтроллеры и ПЛИС»