|
нужна помощь |
|
|
|
 |
Ответов
(15 - 29)
|
Jul 6 2011, 12:41
|
Частый гость
 
Группа: Участник
Сообщений: 99
Регистрация: 28-03-11
Из: Минск
Пользователь №: 63 930

|
Цитата(zltigo @ Jul 6 2011, 10:37)  Печально  , но это не "библиотека". Давайте сначала самостоятельно разберитесь, что такое "библиотека", как она "подключается" и что такое "заголовочный файл". Без этого "ну и тд" нельзя. Я понимаю отличие между этими двумя понятиями. просто я в этом посте так и раньше писал , вроде все понимали и я всех понимал)Буду стараться писать правильно.
Сообщение отредактировал forastr - Jul 6 2011, 12:57
|
|
|
|
|
Jul 7 2011, 08:37
|
Частый гость
 
Группа: Участник
Сообщений: 99
Регистрация: 28-03-11
Из: Минск
Пользователь №: 63 930

|
По прежнему нуждаюсь в помощи))Многое уже переделал, вот застрял над ошибками такого рода: Error[Pe125]: expected a "(" D:\forastr\Console\Console\1\hardware\hw_io.c 309 Error[Pe125]: expected a "(" D:\forastr\Console\Console\1\hardware\hw_io.c 309 Error[Pe125]: expected a "(" D:\forastr\Console\Console\1\hardware\hw_io.c 309 Error[Pe125]: expected a "(" D:\forastr\Console\Console\1\hardware\hw_io.c 309 Error[Pe125]: expected a "(" D:\forastr\Console\Console\1\hardware\hw_io.c 313 Error[Pe125]: expected a "(" D:\forastr\Console\Console\1\hardware\hw_io.c 313 Error[Pe125]: expected a "(" D:\forastr\Console\Console\1\hardware\hw_io.c 313 Error[Pe125]: expected a "(" D:\forastr\Console\Console\1\hardware\hw_io.c 313 Error[Pe125]: expected a "(" D:\forastr\Console\Console\1\hardware\hw_io.c 316 Error[Pe125]: expected a "(" D:\forastr\Console\Console\1\hardware\hw_io.c 316 Error[Pe125]: expected a "(" D:\forastr\Console\Console\1\hardware\hw_io.c 316 Error[Pe125]: expected a "(" D:\forastr\Console\Console\1\hardware\hw_io.c 316
#define ASM_NOP asm volatile ("nop"); asm volatile ("nop"); asm volatile ("nop"); asm volatile ("nop"); пробовал менять на __asm {"nop"};__asm {"nop"};__asm {"nop"};__asm {"nop"}; не помогло.подскажите ,пожалуйста, в чем ошибка?
|
|
|
|
|
Jul 7 2011, 09:51
|

Гуру
     
Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244

|
QUOTE (forastr @ Jul 7 2011, 11:37)  пробовал менять на __asm {"nop"};__asm {"nop"};__asm {"nop"};__asm {"nop"}; не помогло. У раввина из анекдота были еще идеи  QUOTE подскажите ,пожалуйста, в чем ошибка? Не читаете документацию на компилятор. Совсем не читаете  . Я понимаю, что там много букв, но надо читать. В данном случае раздел Intrinsic function. И никогда, никогда не делайте ассемблерные вставки в сишные исходники, как это часто делается в GCC, для других компиляторов.
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
Jul 7 2011, 10:55
|
Частый гость
 
Группа: Участник
Сообщений: 99
Регистрация: 28-03-11
Из: Минск
Пользователь №: 63 930

|
Цитата(zltigo @ Jul 7 2011, 08:51)  У раввина из анекдота были еще идеи  Не читаете документацию на компилятор. Совсем не читаете  . Я понимаю, что там много букв, но надо читать. В данном случае раздел Intrinsic function. И никогда, никогда не делайте ассемблерные вставки в сишные исходники, как это часто делается в GCC, для других компиляторов. Спасибо огромное за помощь и терпение,zltigo! [стыдно(]
|
|
|
|
|
Jul 11 2011, 08:22
|
Частый гость
 
Группа: Участник
Сообщений: 99
Регистрация: 28-03-11
Из: Минск
Пользователь №: 63 930

|
Структура проекта вот такая:
Необходимо чтобы 1) все *.с были вынесены в корень проекта 2)*.с включали только *.h 3)*.h включали только *.h Выношу любой *.с (к примеру queue.c ) в корень , удаляю запись #include "lib\queue.c".Делаю ребилд и тут куча ошибок типа: Warning[Pe223]: function "*" declared implicitly D:\forastr\Console\Console\1\os\os_main.c 3854 (как то так).Поясните ,пожалуйста , из-за чего так происходит?
|
|
|
|
|
Jul 11 2011, 09:55
|
Частый гость
 
Группа: Участник
Сообщений: 99
Регистрация: 28-03-11
Из: Минск
Пользователь №: 63 930

|
Цитата(XVR @ Jul 11 2011, 06:51)  Включите вместо *.c соответствующий *.h Попробовал то ,что Вы предложили -> не получилось.Не у всех *.с есть *.h. Компилятор не подхватывает ни функции которые находятся в другом *.с , ни дефайны которые находятся там же((
|
|
|
|
|
Jul 13 2011, 07:19
|
Частый гость
 
Группа: Участник
Сообщений: 99
Регистрация: 28-03-11
Из: Минск
Пользователь №: 63 930

|
Цитата(Dog Pawlowa @ Jul 13 2011, 05:56)  Поищите BoardPresent поиском по всем файлам проекта и выложите здесь. Cкорее всего в хедере не поставили extern Не могу почему то прикрепить эти файлы(Неудачная загрузка. Вам запрещено загружать такой тип файлов). Имеется два файла где эта переменная исполльзуется: os_main.c - она просто приравнивается константе(BoardPresent = 1;) os_main.h - uint8_t BoardPresent = 0; пробовал extern uint8_t BoardPresen = 0; -> не помогло( Цитата(Палыч @ Jul 13 2011, 06:09)  Такая ошибка возникает, если некая переменная (массив, структура,...) объявлена более чем в одном файле. В Вашем случае: BoardPresent присутствует в файлах can.с и hw_eeprom.с Вполне вероятно: необходимо добавить extern в одном из файлов. Самое интересное то ,что этой переменой там нету(А это мб из-за того что у меня все *.h включены в один большой main.h , а этот файл включается почти в каждом файле?)
|
|
|
|
|
Jul 13 2011, 07:40
|

Гуру
     
Группа: Свой
Сообщений: 2 399
Регистрация: 10-05-06
Из: г. Новочеркасск
Пользователь №: 16 954

|
Цитата(forastr @ Jul 13 2011, 11:19)  пробовал extern uint8_t BoardPresen = 0; -> не помогло( Осталась та же ошибка? Попробуйте сделать "Rebuild All". Кроме того: 1. Где то (вероятно в main.c) должно быть uint8_t BoardPresen = 0; ( без extern ). 2. В h-файле оставьте только extern uint8_t BoardPresen; ( без =0 )
|
|
|
|
|
Jul 13 2011, 08:24
|
Частый гость
 
Группа: Участник
Сообщений: 99
Регистрация: 28-03-11
Из: Минск
Пользователь №: 63 930

|
Цитата(Палыч @ Jul 13 2011, 06:40)  Осталась та же ошибка? Попробуйте сделать "Rebuild All". Осталась та же ошибка. Цитата Кроме того: 1. Где то (вероятно в main.c) должно быть uint8_t BoardPresen = 0; ( без extern ). Такого объявления больше нету. Цитата 2. В h-файле оставьте только extern uint8_t BoardPresen; ( без =0 ) Помогло!Спасибо. Как только убираешт такую ошибку появляется такая же но с другой переменной. Я делал (как мне посоветовали) для каждого *.с свои *.h скорее всего я их криво сделал(( А как исправить такую ошибку для : Цитата struct { uint8_t acr[4]; uint8_t amr[4]; uint8_t btr0; uint8_t btr1; uint8_t fixed_rate; } CAN_init_val= { {0x00, 0x00, 0x00, 0x00}, {0xff, 0xff, 0xff, 0xff}, BTR0_100k, BTR1_100k, 0 }; Ругается на перменную CAN_init_val.
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|