Перейти к содержанию
    

Подключение библиотеки к IAR

Сначала стандартная отмазка: пытаюсь разобраться с 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.с.

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Может много воды написал...

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

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

Project.rar

HD44780.zip

Изменено пользователем URANst

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

потому и не видит.

вернее, это одна из причин.

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Сделал проект на С (не С++) , тепереь такая ошибка

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:

Изменено пользователем URANst

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

Вы имеете в виду Option\C/C++ Compiler\Language?

Выбираете язык. Если выберете С для С++ - не будет компилиться...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В опциях поменял тип процессора, предыдущую ошибку устранил.

Теперь говорит вот что

Warning[Pe223]: function "LCDInit" declared implicitly C:\1\main.c 5

Помогите побороть !!!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Warning[Pe223]: function "LCDInit" declared implicitly C:\1\main.c 5

Функция объявлена по умолчанию. Т.е. перед использованием функции она не была объявлена.

Либо не включен заголовочный файл, в котором она объявлена, либо вы ошиблись в написании ее имени.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...