2
我有一个指向另一个宏宏:C预处理 - 连接字符串没有多个解决
#define USART1 ((USART_TypeDef *) USART1_BASE)
#define PIPE1 USART1
我想补充,我将作为一个函数定义中使用静态文本(USART1变得USART1_IRQHandler) 。我试过类似于:
#define _IRQ(NAME) NAME ## _IRQHandler
void _IRQ(PIPE1)(void) {
//...
}
但名称解析为PIPE1_IRQHandler而不是USART1_IRQHandler。然后我试图#NAME得到PIPE1的价值,但它已经完全解决最低级表示:
((USART_TypeDef *) ((((uint32_t)0x40000000) + 0x10000) + 0x3800))
有没有什么办法让USART1_IRQHandler?
谢谢你的回答,那解释了一切。值得一试... – mopsiok