реклама на сайте
подробности

 
 
> Подключение библиотеки к IAR, Помоготе
URANst
сообщение Feb 29 2008, 07:10
Сообщение #1


Частый гость
**

Группа: Новичок
Сообщений: 83
Регистрация: 2-02-06
Пользователь №: 13 912



Сначала стандартная отмазка: пытаюсь разобраться с IAR for AVR, так что сильно не пинайте ))).
Вопрос в следующем:
скачал вот от сюда http://electronix.ru/forum/index.php?showt...10934&st=45 библиотеку для работы LCD на контроллере HD44780.
Далее создаю новый проект, бросаю в IAR > AVR > inc эти файлы. К проекту добавляю
Код
#include <lcd44780.h>
, потом адд файл lcd44780.с, в main главной программы пишу
Код
LCDInit();
, компилирую, он(компилятор) говорит
Код
Fatal Error[Pe005]: could not open source file "main.h"
, смотрю что нада файл main.h, там где он подключается, удаляю подключение, я так понял в нем должен быть TCLK, я это просто прописываю #define TCLK 1/1000000,
далее компиль, а он мне
Код
Error[Pe020]: identifier "LCDInit" is undefined C:\1\main.cpp 6
, вот сдесь я уже не могу понять почему он не видит этой функции, она прописана в lcd44780.с.

Может много воды написал, но ладно, подскажите как правильно добавлять библы, может кто даст пример работы с этой библой.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 8)
IgorKossak
сообщение Feb 29 2008, 07:14
Сообщение #2


Шаман
******

Группа: Модераторы
Сообщений: 3 064
Регистрация: 30-06-04
Из: Киев, Украина
Пользователь №: 221



Цитата(URANst @ Feb 29 2008, 09:10) *
Может много воды написал...

Лучше проект в архиве приаттачте, можно урезанный, но чтобы ошибка проявлялась.
Go to the top of the page
 
+Quote Post
URANst
сообщение Feb 29 2008, 07:31
Сообщение #3


Частый гость
**

Группа: Новичок
Сообщений: 83
Регистрация: 2-02-06
Пользователь №: 13 912



Дабавил проект, помогите люди добрые.

Да, добавляю еще саму библиотеку.

Сообщение отредактировал URANst - Feb 29 2008, 08:04
Прикрепленные файлы
Прикрепленный файл  Project.rar ( 23.53 килобайт ) Кол-во скачиваний: 42
Прикрепленный файл  HD44780.zip ( 5.85 килобайт ) Кол-во скачиваний: 49
 
Go to the top of the page
 
+Quote Post
vet
сообщение Feb 29 2008, 11:55
Сообщение #4


Знающий
****

Группа: Свой
Сообщений: 550
Регистрация: 16-06-04
Из: Казань
Пользователь №: 32



библиотечка эта, судя по коду, писана для C, а вы её в C++ модуль подключаете.
потому и не видит.
вернее, это одна из причин.
вторая заключается в том, что, строго говоря, это не библиотека, а обычный исходник, который должен быть включен в проект.


--------------------
Главная линия этого опуса ясна мне насквозь!
Go to the top of the page
 
+Quote Post
URANst
сообщение Feb 29 2008, 15:32
Сообщение #5


Частый гость
**

Группа: Новичок
Сообщений: 83
Регистрация: 2-02-06
Пользователь №: 13 912



Сделал проект на С (не С++) , тепереь такая ошибка
Код
Fatal Error[Pe035]: #error directive: This file should only be compiled with iccavr or aavr with processor option -v1 C:\Program Files\IAR Systems\Embedded Workbench 4.0 Evaluation\avr\INC\iom8.h 23


И еще можно узнать чем отличаются проекты на С и С++, они что по разному формируются или в чем их разница (кроме конечно возможностей С++ над С) ?

Цитата
вторая заключается в том, что, строго говоря, это не библиотека, а обычный исходник, который должен быть включен в проект.


Так я файл .с включил в прект, а .h #include wacko.gif

Сообщение отредактировал URANst - Feb 29 2008, 15:34
Go to the top of the page
 
+Quote Post
Непомнящий Евген...
сообщение Feb 29 2008, 16:13
Сообщение #6


Знающий
****

Группа: Свой
Сообщений: 771
Регистрация: 16-07-07
Из: Волгодонск
Пользователь №: 29 153



Цитата(URANst @ Feb 29 2008, 18:32) *
И еще можно узнать чем отличаются проекты на С и С++, они что по разному формируются или в чем их разница (кроме конечно возможностей С++ над С) ?


Вы имеете в виду Option\C/C++ Compiler\Language?
Выбираете язык. Если выберете С для С++ - не будет компилиться...
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Feb 29 2008, 21:10
Сообщение #7


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Цитата(URANst @ Feb 29 2008, 17:32) *
Код
Fatal Error[Pe035]: #error directive: This file should only be compiled with iccavr or aavr with processor option -v1 C:\Program Files\IAR Systems\Embedded Workbench 4.0 Evaluation\avr\INC\iom8.h 23
У вас где-то в проект включен (#include) файл iom8.h, а в опциях оболочки выбран какой-то другой процессор. В IAR хорошо реализована возможность автоматического включения нужного файла описания sfr - для этого вместо iomXXX.h достаточно включать ioavr.h, а уже в нем автоматически включится нужный iomXXX.h или ioATtinyXXX.h


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
URANst
сообщение Mar 1 2008, 10:20
Сообщение #8


Частый гость
**

Группа: Новичок
Сообщений: 83
Регистрация: 2-02-06
Пользователь №: 13 912



В опциях поменял тип процессора, предыдущую ошибку устранил.
Теперь говорит вот что
Код
Warning[Pe223]: function "LCDInit" declared implicitly C:\1\main.c 5

Помогите побороть !!!
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Mar 1 2008, 10:29
Сообщение #9


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Цитата(URANst @ Mar 1 2008, 12:20) *
Код
Warning[Pe223]: function "LCDInit" declared implicitly C:\1\main.c 5
Функция объявлена по умолчанию. Т.е. перед использованием функции она не была объявлена.
Либо не включен заголовочный файл, в котором она объявлена, либо вы ошиблись в написании ее имени.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st July 2025 - 20:09
Рейтинг@Mail.ru


Страница сгенерированна за 0.01485 секунд с 7
ELECTRONIX ©2004-2016