Почему в данном случае не работает директива #define?

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Закрыто
Аватара пользователя
kvark85
Встал на лапы
Сообщения: 108
Зарегистрирован: Сб ноя 08, 2008 21:23:06
Откуда: Харьков
Контактная информация:

Почему в данном случае не работает директива #define?

Сообщение kvark85 »

Здравствуйте.

В начале программы объявляю:
#include <mega16.h>
#include <delay.h>

#define Mode PIND.0;

----------------------------------
затем в главном цикле:
while (1)
{
if (Mode==1) //использовать директиву препроцессора Mode здесь почему то не получается
{делаем А}
else
{делаем Б};

при компиляции 2 ошибки: missing ')' и invalid expression
----------------------------------
А если пишу так

if (PIND.0==1) //использовать директиву препроцессора Mode здесь почему то не получилось
{делаем А}
else
{делаем Б};
---------------------------------
то все компилируется нормально, без ошибок. В чем загвоздка?
Реклама
Аватара пользователя
md5sum
Вымогатель припоя
Сообщения: 672
Зарегистрирован: Вт окт 27, 2009 22:39:19
Откуда: Москва

Re: Почему в данном случае не работает директива #define?

Сообщение md5sum »

Надо так:
#define Mode PIND.0
Без точки с запятой, иначе она то-же подставляется
— Не говорите мне что делать и я не скажу куда Вам идти...
Реклама
Аватара пользователя
kvark85
Встал на лапы
Сообщения: 108
Зарегистрирован: Сб ноя 08, 2008 21:23:06
Откуда: Харьков
Контактная информация:

Re: Почему в данном случае не работает директива #define?

Сообщение kvark85 »

Действительно, как это я сам не догадался. Спасибо
Закрыто

Вернуться в «Микроконтроллеры и ПЛИС»