Страница 1 из 1

Программирование с (макросы функций)

Добавлено: Вс дек 27, 2009 18:25:04
FUZZY_
...
#define led_on() {
led_state=LED_ON;
XBYTE[LED_CNTRL]=0x01;
}

#define led_off() {
led_state=LED_OFF;
XBYTE[LED_CNTRL]=0x00;
}



что пропущено внутри определения функций?

Добавлено: Вс дек 27, 2009 19:55:17
ARV
пропущено изучение литературы по Си - хотя бы какой-то минимум.

макрос описывается в одной строке, поэтому ваш макрос led_on() препроцессором будет заменен на фигурную скобку. само собой, остальные строки будут восприняты, как ошибочные. если очень приспичило сделать многострочный макрос, ставьте в конце каждой строки обратный слеш - признак переноса на строку:

Код: Выделить всё

#define led_on() {  \
led_state=LED_ON;  \
XBYTE[LED_CNTRL]=0x01; \
} 

#define led_off() {  \
led_state=LED_OFF;  \
XBYTE[LED_CNTRL]=0x00; \
}