を解決し、複数せずに文字列を連結する、私は別のマクロを指すマクロを持っている: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として解決します。それから私はPIPE1の値を取得するには#NAMEを試してみましたが、それは完全にほとんどの低レベルの表現に解決していた:
((USART_TypeDef *) ((((uint32_t)0x40000000) + 0x10000) + 0x3800))
はUSART1_IRQHandlerを取得する方法はありますか?
あなたの答えをありがとう、それはすべてを説明します。それは試してみる価値があった... – mopsiok