[an error occurred while processing this directive]
[an error occurred while processing this directive]
|
это текстовая подстановка - то есть до того как программа будет обработана С компилятором, ее обрабатывает препроцессор (обычно называется срр)
препроцессор просто производит замену кусков текста так же как Вы это делаете по кнопке cntrl-F в Ворде (или какую там кнопку чертов Билли для этого приспособил)
то есть в Вашем примере С компилятор получит вместо букв (токена) clk PORTD.5; то есть сlk=1 будет заменено на PORTD.5;=1 то есть здесь полный бардак с точки зрения С компилятора
из этого выводы:
; после #define не ставить
и вообще обращаться к битам по другому (например как предложил Andy Дюх)
а
#define ENABLE_BIT_DEFININTIONS 1
может быть использовано для "условной компиляции"
к примеру
#ifdef ENABLE_BIT_DEFININTIONS
какой нибудь код
#endif
E-mail: info@telesys.ru