Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Вопрос новичка
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
Anjey_N
Помогите разобраться с условной компиляцией на Си.
Среда IAR 4.20

Хочу написать программный код, который бы работал с ATmega16 и ATmega8.
В программе будет задействована динамическая индикация (portB - данные, portD - стробы для ATmega16; portD - данные, portB - стробы для ATmega8), АЦП (portA - ATmega16, portС - ATmega8 ), выход ШИМ (вывод PORTD.5 для ATmega16; вывод PORTB.1 для ATmega8).

Как это правильно написать?

help.gif Ногами сильно не пинайте!
Сергей Борщ
Цитата(Anjey_N @ May 11 2007, 10:37) *
Как это правильно написать?

что-то вроде
Код
#if defined(__ATmega8__)
#define DATA_BUS     PORTD
#define STROBE_BUS PORTB
#elif defined(__ATmega16__)
#define DATA_BUS     PORTB
#define STROBE_BUS PORTD
#else
#error "Wrong CPU type
#endif
Конкретные названия предопределенных символов, соответствующих типам CPU (__ATmega16__ и т.д.) можно посмотреть в файле iar\avr\inc\ioavr.h
Anjey_N
Цитата(Сергей Борщ @ May 11 2007, 10:57) *
что-то вроде
Код
#if defined(__ATmega8__)
#define DATA_BUS     PORTD
#define STROBE_BUS PORTB
#elif defined(__ATmega16__)
#define DATA_BUS     PORTB
#define STROBE_BUS PORTD
#else
#error "Wrong CPU type
#endif
Конкретные названия предопределенных символов, соответствующих типам CPU (__ATmega16__ и т.д.) можно посмотреть в файле iar\avr\inc\ioavr.h



yeah.gif спасибо
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.