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