URAN 0 29 февраля, 2008 Опубликовано 29 февраля, 2008 · Жалоба Сначала стандартная отмазка: пытаюсь разобраться с 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 0 29 февраля, 2008 Опубликовано 29 февраля, 2008 · Жалоба Может много воды написал... Лучше проект в архиве приаттачте, можно урезанный, но чтобы ошибка проявлялась. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
URAN 0 29 февраля, 2008 Опубликовано 29 февраля, 2008 (изменено) · Жалоба Дабавил проект, помогите люди добрые. Да, добавляю еще саму библиотеку. Project.rar HD44780.zip Изменено 29 февраля, 2008 пользователем URANst Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vet 0 29 февраля, 2008 Опубликовано 29 февраля, 2008 · Жалоба библиотечка эта, судя по коду, писана для C, а вы её в C++ модуль подключаете. потому и не видит. вернее, это одна из причин. вторая заключается в том, что, строго говоря, это не библиотека, а обычный исходник, который должен быть включен в проект. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
URAN 0 29 февраля, 2008 Опубликовано 29 февраля, 2008 (изменено) · Жалоба Сделал проект на С (не С++) , тепереь такая ошибка 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 Изменено 29 февраля, 2008 пользователем URANst Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Johnny81 0 29 февраля, 2008 Опубликовано 29 февраля, 2008 · Жалоба И еще можно узнать чем отличаются проекты на С и С++, они что по разному формируются или в чем их разница (кроме конечно возможностей С++ над С) ? Вы имеете в виду Option\C/C++ Compiler\Language? Выбираете язык. Если выберете С для С++ - не будет компилиться... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Сергей Борщ 119 29 февраля, 2008 Опубликовано 29 февраля, 2008 · Жалоба 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 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
URAN 0 1 марта, 2008 Опубликовано 1 марта, 2008 · Жалоба В опциях поменял тип процессора, предыдущую ошибку устранил. Теперь говорит вот что Warning[Pe223]: function "LCDInit" declared implicitly C:\1\main.c 5 Помогите побороть !!! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Сергей Борщ 119 1 марта, 2008 Опубликовано 1 марта, 2008 · Жалоба Warning[Pe223]: function "LCDInit" declared implicitly C:\1\main.c 5 Функция объявлена по умолчанию. Т.е. перед использованием функции она не была объявлена. Либо не включен заголовочный файл, в котором она объявлена, либо вы ошиблись в написании ее имени. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться