Всем мирного неба и доброго времени суток. Вопрос:
"склеивание токенов/текста" в макросах.
Нет понимания как собрать строчку из дефайнов. Например задаю:
#define GPIOx GPIOB
#define BUSx AHB2ENR
#define PORT_CLK_EN(a, aa) RCC->##BUSx##_GPIOx##EN
при вызове RCC->BUSx |= PORT_CLK_EN(BUSx, GPIOx); возникает ошибка. Вместо значений дефайнов подставляются имена дефайнов. Обьясните как правильно собрать эту строку.
А для чего такие извращения?
А для чего такие извращения?
Ну извращаться хочу с stm32f0 and stm32g4 и там несколько разные шины и т.д.
вот и хотелка что задал порт и шину ну и ...
Вы хотите, что бы команды были универсальными?
Всё равно для каждого ядра они будут разные.
Может не стоит городить огород и делать ещё одну надстройку над CMSIS?
Ок. Пошел думать...