Подстажите в чем ошибка, а то я походу туплю уже, но простая подстановка приводит к ошибке.
Определил я пин и порт для светодиода:
Код
#define LED2 PORT_Pin_8 // OUTPUT
#define LED2_PORT MDR_PORTB
#define LED2_PIN LED2,MDR_PORTB
Затем значит определил функцию:
Код
#define on(Pin_Mask,Pin_Port) ((Pin_Port->RXTX) |= Pin_Mask)
И пытаюсь ее вызывать так:
Код
on(LED2_PIN);
Keil выдает ошибку #54-D: too few arguments in invocation of macro "on"
и ошибку #29: expected an expression
Если вместо LED2_PIN написать LED2,MDR_PORTB, т.е по сути то что определяет дефайн "LED2_PIN", то ошибки нет.
Т.е. вот так работает:
Код
on(LED2,MDR_PORTB);
Хотелось бы выкинуть этот порт, чтобы каждый раз его не писать при вызове функции on(), но как обойти ошибку?