реклама на сайте
подробности

 
 
> Ошибка при работе с #define, Keil MDK-ARM v5
Alexashka
сообщение Oct 23 2014, 08:48
Сообщение #1


Практикующий маг
******

Группа: Свой
Сообщений: 3 634
Регистрация: 28-04-05
Из: Дубна, Моск.обл
Пользователь №: 4 576



Подстажите в чем ошибка, а то я походу туплю уже, но простая подстановка приводит к ошибке.

Определил я пин и порт для светодиода:
Код
#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(), но как обойти ошибку?
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 24th July 2025 - 01:01
Рейтинг@Mail.ru


Страница сгенерированна за 0.01354 секунд с 7
ELECTRONIX ©2004-2016