Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: #include <файл описания.h>
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > Cредства разработки для МК > IAR
IJAR
IAR Embeded ... 4.12
Пытаюсь:
Код
#if  __cpu_name==ATmega128
#include  <iom128.h>
#endif

#if  __cpu_name==AT90CAN128
#include  <iocan128.h>
#endif


К сожалению такая конструкция не работает,
точнее работают оба условных оператра, вне завистмости
от установленнго на вкладке General Options => Target => Processor Configuranion
типа процессора

Вообще возможно ли "привязать" вставляемый файл *.h к типу
выбранного процессора?
andron86
Цитата(IJAR @ Jan 11 2008, 14:20) *
Код
#if  __cpu_name==ATmega128
#include  <iom128.h>
#endif

#if  __cpu_name==AT90CAN128
#include  <iocan128.h>
#endif

может

Код
#if defined(ATmega128)
#include  <iom128.h>
#endif
IJAR
может

Код
#if defined(ATmega128)
#include  <iom128.h>
#endif

[/quote]

это не проходит, поскольку ATmega128 нигде не определяется,
в том числе и компилятором.
Сергей Борщ
Цитата(IJAR @ Jan 11 2008, 15:20) *
Вообще возможно ли "привязать" вставляемый файл *.h к типу выбранного процессора?
Да, для EWAVR возможно. #include <ioavr.h> В нем уже реализовано то, что вы пытаетесь сделать.
Dog Pawlowa
Цитата(IJAR @ Jan 11 2008, 17:20) *
Вообще возможно ли "привязать" вставляемый файл *.h к типу
выбранного процессора?

Никто не мешает создать два проекта в одном workspace, включив одинаковые файлы и определив разные директивы препроцессора.
Я обычно так и делаю, храня в одном каталоге все файлы исходников одного прибора, и несколько проектов для каждого контроллера прибора (мои приборы, как правило, многоконтроллерные).
И для системы контроля версий так удобнее.
IJAR
Цитата(Сергей Борщ @ Jan 11 2008, 17:06) *
Да, для EWAVR возможно. #include <ioavr.h> В нем уже реализовано то, что вы пытаетесь сделать.



Ничего не понял!!!
Можно поподробнее, как это будет выглядеть в приведенном мной примере.
AlexG_changed
Цитата(IJAR @ Jan 12 2008, 16:46) *
Можно поподробнее, как это будет выглядеть в приведенном мной примере.


#include <ioavr.h>

в нем внутри есть такие строки:

#elif defined(__ATmega128__)
#include "iom128.h"
#elif defined(__AT90CAN128__)
#include "iocan128.h"
IJAR
Цитата(AlexG @ Jan 12 2008, 14:02) *
#include <ioavr.h>

в нем внутри есть такие строки:

#elif defined(__ATmega128__)
#include "iom128.h"
#elif defined(__AT90CAN128__)
#include "iocan128.h"


Спасибо!!!
....что то вголову зашло:я смотрел файйл <inavr.h>
... плохо когда длинные праздники
smile3046.gif
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.