Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Как в условной компиляции указать процессор
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > Cредства разработки для МК > IAR
SasaVitebsk
Хочу чтобы проект работал как на M8 так и на М88. Для этого использую препроцессор. и предустановленное слово описанное в PDF. примерно так

Код
//==== Внешние прерывания =====
#if __cpu__ ==    m88
  EICRA=1;                // Прерывание по любому перепаду
  EIMSK=1;                // от INT0
#else
  MCUCR=1;                // Прерывание по любому перепаду
  GICR=0x40;            // от INT0
#endif


.xcl файл не использую. В опциях проекта выбираю строку
--cpu = m8, ATmega8
(изначально проект был отлажен для M88)
Работает так ка будто выбран М88 компиляция идёт по ветке - 88.

Как сделать правильно
prottoss
Цитата(SasaVitebsk @ Jan 2 2007, 01:20) *
Хочу чтобы проект работал как на M8 так и на М88. Для этого использую препроцессор. и предустановленное слово описанное в PDF. примерно так
Код
....

Как сделать правильно
В ИАРовском хелпе сказано так

Цитата
Use this symbol to identify the used processor variant.

This symbol expands to a number which corresponds to the processor option -vn in use.
То бишь похоже никак с конкретным процессором



Цитата(SasaVitebsk @ Jan 2 2007, 01:20) *
Хочу чтобы проект работал как на M8 так и на М88. Как сделать правильно


Но!!! Только что нашел альтенативу)))

Код

#if __ATmega88__

/* код для м88 */

#elif __ATmega8__

/* код для м8 */

#endif /* #elif __ATmega8__ */
#endif /* #if __ATmega88__ */
SasaVitebsk
Спасибо Prottoss! Исправил и уже проверил! Всё Ok.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.