Телесистемы
 Разработка, производство и продажа радиоэлектронной аппаратуры
На главную   | Карта сайта | Пишите нам | В избранное
Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс.
e-mail:jobsmp@pochta.ru

Телесистемы | Электроника | Конференция «Микроконтроллеры и их применение»

Взываю к коллективному разуму форума! Пожалуйста помогите побороть incomplite arrray в применении к структурам.

Отправлено rezident 02 августа 2007 г. 17:24


Мне нужно сделать таблицы описания переменных, которые должны располагаться во Flash. Таблицы разной длины.
Делаю так.

#ifndef _NETVAR_DEF_
typedef struct stVarDes
{ unsigned char *addr;
unsigned size;
unsigned type;
} stVarDes;
typedef struct stVarTbl
{ unsigned num;
stVarDes varDes[];
} stVarTbl;
#define _NETVAR_DEF_
#endif

const stVarTbl varTbl1=
{ 3,
{ (unsigned char *)&pGD->pass, sizeof(pGD->pass), 0}, //<-ошибка в строке
{ (unsigned char *)&pGD->status, sizeof(pGD->status), 0}, //<-ошибка в строке
{ (unsigned char *)&pGD->exps, sizeof(pGD->exps), 0} //<-ошибка в строке
};


Указатель pGD глобальный на глобальную структуру данных и он определен. Переменные из этой структуры pass, status, exps типа float. Мне нужно описать в таблице указатель на эти переменные для байтового доступа к ним. В каждой таблице разное количество описываемых переменных.
ИАР выдает ошибки
Error[Pe146]: too many initializer values ...\netVar.c 19
Error[Pe028]: expression must have a constant value ...\netVar.c 19
Error[Pe041]: expression must have arithmetic or pointer type ...\netVar.c 19
Error[Pe028]: expression must have a constant value ...\netVar.c 20
Error[Pe041]: expression must have arithmetic or pointer type ...\netVar.c 20
Error[Pe028]: expression must have a constant value ...\netVar.c 21
Error[Pe041]: expression must have arithmetic or pointer type ...\netVar.c 21
Что я не так делаю? И как сделать правильно?


Составить ответ | Вернуться на конференцию

Ответы


Отправка ответа
Имя*: 
Пароль: 
E-mail: 
Тема*:

Сообщение:

Ссылка на URL: 
URL изображения: 

если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
прибавьте тройку к двум:

Перейти к списку ответов | Конференция | Раздел "Электроника" | Главная страница | Карта сайта

Rambler's Top100 Рейтинг@Mail.ru
 
Web telesys.ru