Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Подключение библиотеки к IAR
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему
URANst
Сначала стандартная отмазка: пытаюсь разобраться с 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.с.

Может много воды написал, но ладно, подскажите как правильно добавлять библы, может кто даст пример работы с этой библой.
IgorKossak
Цитата(URANst @ Feb 29 2008, 09:10) *
Может много воды написал...

Лучше проект в архиве приаттачте, можно урезанный, но чтобы ошибка проявлялась.
URANst
Дабавил проект, помогите люди добрые.

Да, добавляю еще саму библиотеку.
vet
библиотечка эта, судя по коду, писана для C, а вы её в C++ модуль подключаете.
потому и не видит.
вернее, это одна из причин.
вторая заключается в том, что, строго говоря, это не библиотека, а обычный исходник, который должен быть включен в проект.
URANst
Сделал проект на С (не С++) , тепереь такая ошибка
Код
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, 18:32) *
И еще можно узнать чем отличаются проекты на С и С++, они что по разному формируются или в чем их разница (кроме конечно возможностей С++ над С) ?


Вы имеете в виду Option\C/C++ Compiler\Language?
Выбираете язык. Если выберете С для С++ - не будет компилиться...
Сергей Борщ
Цитата(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
URANst
В опциях поменял тип процессора, предыдущую ошибку устранил.
Теперь говорит вот что
Код
Warning[Pe223]: function "LCDInit" declared implicitly C:\1\main.c 5

Помогите побороть !!!
Сергей Борщ
Цитата(URANst @ Mar 1 2008, 12:20) *
Код
Warning[Pe223]: function "LCDInit" declared implicitly C:\1\main.c 5
Функция объявлена по умолчанию. Т.е. перед использованием функции она не была объявлена.
Либо не включен заголовочный файл, в котором она объявлена, либо вы ошиблись в написании ее имени.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.