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

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

Братцы, помогите разобраться с структурой в IAR AVR.

Отправлено flashman 26 июля 2007 г. 16:36


Имеются два файла: main.c и mode_operation.c. Также, есть два файла: tgt_def.h и tgt_init.h. В tgt_init.h определена структура:

#include "tgt_def.h"
#include "pgmspace.h"

typedef struct main_flags_s
{
U8 ButtGrp1: 1;
U8 ButtGrp2: 1;
U8 Start: 1;
U8 Stohas: 1;
U8 MStohChnl: 1;
} main_flags_t;
main_flags_t flag = {0, 0, 0, 0, 0};

в tgt_def.h её шаблон:
struct main_flags_s;

Оба *.c используют структуру. С main.c всё нормально, а вот mode_operation.c ругается ИАРом при первом же упоминании flag.Start :
Building configuration: sample - Debug
Updating build tree...
mode_operation.c
Error[Pe070]: incomplete type is not allowed D:\My_Projects\ProjectsAltium\Programms\Intramag_prog\Sample1\mode_operation.c 18

Total number of errors: 1
Total number of warnings: 0

Файл mode_operation.c:

#include
#include
#include
#include
#include
#include "tgt_def.h"

extern U8 Mode;
extern U8 LedInd;
extern U8 TCnt;
extern U8 FCnt;
extern struct main_flags_t flag = {0, 0, 0, 0, 0};

void mode_operation(void)
{
switch(Mode)
{
case 0: Mode = 1; LedInd = Mode_P_Ind;
opto_pan_info(MTime[TCnt], MFreq[FCnt], LedInd, 2);
if (flag.Start) Mode_P; break;
case 1: Mode = 2; LedInd = Mode_N_Ind;
opto_pan_info(MTime[TCnt], MFreq[FCnt], LedInd, 2);
if (flag.Start) Mode_N; break;
case 2: Mode = 0; LedInd = Mode_B_Ind;
opto_pan_info(MTime[TCnt], MFreq[FCnt], LedInd, 2);
if (flag.Start) Mode_B; break;
}
}



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

Ответы


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

Сообщение:

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

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

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

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