Ошибка на #define

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Закрыто
king-live
Прорезались зубы
Сообщения: 238
Зарегистрирован: Сб янв 29, 2011 20:26:48

Ошибка на #define

Сообщение king-live »

Доброго времени суток!
Подскажите пожалуйста, почему если в скобках оператора сравнения if есть переменная(константа) переименнованная дефайном на другое имя, то компилируется ошибка.
К примеру if (g==Finish) в нижепредставленном коде

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

#include <avr/io.h>
#define F_CPU 4800000UL
#include <util/delay.h>

char a; 
int b; 
char c=1;
char d;
char e; 
unsigned int g; 
char f=1;
unsigned int h=32768;
unsigned int j;
unsigned int k;

#define Start f;
#define Finish h;

int main(void)
{
DDRB=0b00011111;
PORTB=0b00000000;

while(1)
	{
	g=Start;
	while(1)
		{
		b=g;
		_delay_ms(50);
		if (g==Finish)
			{
			g=Start;
			}
		g=g<<1;
		}
	}
}



спасибо.
Реклама
Аватара пользователя
md5sum
Вымогатель припоя
Сообщения: 672
Зарегистрирован: Вт окт 27, 2009 22:39:19
Откуда: Москва

Re: Ошибка на #define

Сообщение md5sum »

Потому, что

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

#define Start f;
#define Finish h;
надо без точки с запятой писать ;)

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

#define Start f
#define Finish h
— Не говорите мне что делать и я не скажу куда Вам идти...
Реклама
king-live
Прорезались зубы
Сообщения: 238
Зарегистрирован: Сб янв 29, 2011 20:26:48

Re: Ошибка на #define

Сообщение king-live »

Спасибо, действительно так! Упустил это!
Закрыто

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