Хотел запилить макросы для упрощения написания программы в студии (недавно поставил) скачал макросы у PASHGAN на CHIPENABLE.RU его макросы
Код:
|
#define Bit(bit) (1‹‹(bit))
#define ClearBit(reg, bit) reg &= (~(1‹‹(bit)))
//пример: ClearBit(PORTB, 1); //сбросить 1-й бит PORTB
#define SetBit(reg, bit) reg |= (1‹‹(bit))
//пример: SetBit(PORTB, 3); //установить 3-й бит PORTB |
в maine работают а мои
Код:
|
#define CLR_PIN(ARGS) __CLR_PIN(ARGS)
#define __CLR_PIN(PORT_LETTER, PIN) PORT##PORT_LETTER &= (~(1 ‹‹ (PIN)))
#define SET_PIN(ARGS) __SET_PIN(ARGS)
#define __SET_PIN(PORT_LETTER, PIN) PORT##PORT_LETTER |= (1 ‹‹ (PIN)) |
нет .Главное если их выложить сверху в самом maine
то программа их распознает а если в файле bits_macros.h
и в main прописать например
Код:
|
#define SCK D, 4
#include "bits_macros.h"
int main (void)
{
SET_PIN(SCK);
CLR_PIN(SCK);
} |
то начинает ругаться
Severity Code Description Project File Line
Error 'D' undeclared (first use in this function) GccBoardProject1
Severity Code Description Project File Line
Error implicit declaration of function 'SET_PIN' [-Werror=implicit-function-declaration] GccBoardProject1
Severity Code Description Project File Line
Error implicit declaration of function 'CLR_PIN' [-Werror=implicit-
В чем беда не подскажите.Кстати проверял это в CodeVision там все работает , но хочется Atmel Studio уже юзать.