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

 
 
> #include <файл описания.h>, возможно ли такое сделать?
IJAR
сообщение Jan 11 2008, 13:20
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 232
Регистрация: 26-02-07
Из: г. Зеленоград
Пользователь №: 25 669



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 к типу
выбранного процессора?


--------------------
Вяжешь - вой, а поедешь - песни пой.
Между "хочу" и "можно" всегда есть дистанция
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 7)
andron86
сообщение Jan 11 2008, 13:45
Сообщение #2


Местный
***

Группа: Участник
Сообщений: 406
Регистрация: 1-03-06
Пользователь №: 14 821



Цитата(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
Go to the top of the page
 
+Quote Post
IJAR
сообщение Jan 11 2008, 13:56
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 232
Регистрация: 26-02-07
Из: г. Зеленоград
Пользователь №: 25 669



может

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

[/quote]

это не проходит, поскольку ATmega128 нигде не определяется,
в том числе и компилятором.


--------------------
Вяжешь - вой, а поедешь - песни пой.
Между "хочу" и "можно" всегда есть дистанция
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Jan 11 2008, 14:06
Сообщение #4


Гуру
******

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



Цитата(IJAR @ Jan 11 2008, 15:20) *
Вообще возможно ли "привязать" вставляемый файл *.h к типу выбранного процессора?
Да, для EWAVR возможно. #include <ioavr.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
Dog Pawlowa
сообщение Jan 11 2008, 14:54
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 2 702
Регистрация: 14-07-06
Пользователь №: 18 823



Цитата(IJAR @ Jan 11 2008, 17:20) *
Вообще возможно ли "привязать" вставляемый файл *.h к типу
выбранного процессора?

Никто не мешает создать два проекта в одном workspace, включив одинаковые файлы и определив разные директивы препроцессора.
Я обычно так и делаю, храня в одном каталоге все файлы исходников одного прибора, и несколько проектов для каждого контроллера прибора (мои приборы, как правило, многоконтроллерные).
И для системы контроля версий так удобнее.


--------------------
Уходя, оставьте свет...
Go to the top of the page
 
+Quote Post
IJAR
сообщение Jan 12 2008, 10:46
Сообщение #6


Местный
***

Группа: Свой
Сообщений: 232
Регистрация: 26-02-07
Из: г. Зеленоград
Пользователь №: 25 669



Цитата(Сергей Борщ @ Jan 11 2008, 17:06) *
Да, для EWAVR возможно. #include <ioavr.h> В нем уже реализовано то, что вы пытаетесь сделать.



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


--------------------
Вяжешь - вой, а поедешь - песни пой.
Между "хочу" и "можно" всегда есть дистанция
Go to the top of the page
 
+Quote Post
AlexG_changed
сообщение Jan 12 2008, 11:02
Сообщение #7


Участник
*

Группа: Validating
Сообщений: 64
Регистрация: 16-06-05
Пользователь №: 6 073



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


#include <ioavr.h>

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

#elif defined(__ATmega128__)
#include "iom128.h"
#elif defined(__AT90CAN128__)
#include "iocan128.h"
Go to the top of the page
 
+Quote Post
IJAR
сообщение Jan 12 2008, 11:22
Сообщение #8


Местный
***

Группа: Свой
Сообщений: 232
Регистрация: 26-02-07
Из: г. Зеленоград
Пользователь №: 25 669



Цитата(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


--------------------
Вяжешь - вой, а поедешь - песни пой.
Между "хочу" и "можно" всегда есть дистанция
Go to the top of the page
 
+Quote Post

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

 


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


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