Например TDA7294

Форум РадиоКот :: Просмотр темы - Макросы[РЕШЕНО]
Форум РадиоКот
https://radiokot.ru/forum/

Макросы[РЕШЕНО]
https://radiokot.ru/forum/viewtopic.php?f=59&t=98610
Страница 1 из 1

Автор:  gruffi [ Чт дек 26, 2013 14:08:56 ]
Заголовок сообщения:  Макросы[РЕШЕНО]

Добрый день, форумчане! Есть вот такой макрос:
Код:
#define PIN_SOUND_PIN 0
#define PIN_ENABLE(GPIOx, PIN) GPIOx->BSRR |= GPIO_BSRR_BS##PIN


при вызове:
Код:
PIN_ENABLE(GPIOA, SOUND_PIN);

В Visual Studio работает, а в eclipse ругается, т.е. он склеивает строку как GPIO_BSRR_BSSOUND_PIN.
Как сделать, чтобы подставлялось числовое значение, а не строковое?

Автор:  gruffi [ Чт дек 26, 2013 15:53:52 ]
Заголовок сообщения:  Re: Макросы

Тему можно закрывать, уже подсказали. Если кому будет интересно:
To get the macro to expand, a second level of indirection is required, as shown by this compliant solution:
#define JOIN(x, y) JOIN_AGAIN(x, y)
#define JOIN_AGAIN(x, y) x ## y

Страница 1 из 1 Часовой пояс: UTC + 3 часа
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/