Пишу прошивку на C для встроенного процессора. Я хочу, чтобы вся информация о конфигурации была в одном заголовочном файле с именем config.h. Это вызывает проблемы с инициализацией АЦП, где простые #defines не сработают. Прямо сейчас код выглядит так:
config.h
#define NUMBER_OF_POTS 1
#define POT_1_CHANNEL 27
adc.c
#define MAKE_CSS(channel) _CSS##channel
#define CALL_MAKE_CSS(channel) MAKE_CSS(channel)
void initialize_adc() {
CALL_MAKE_CSS(POT_1_CHANNEL);
}
То, что я хочу сделать, это не касаться adc.c, если я изменю config.h на:
#define NUMBER_OF_POTS 2
#define POT_1_CHANNEL 27
#define POT_2_CHANNEL 29
adc.c должен просто автоматически добавить секунду CALL_MAKE_CSS
с некоторыми хитростями макросов.
Полагаю, вопрос в следующем: есть ли уловка, которая дает вам возможность цикла с макросом?
Спасибо
Стив.