我不太了解预处理器的条件,并且收到以下错误:
Irq.h 82/26 syntax error in #if/#elif expression
在代码的以下部分:
#if (_TASKING_C_TRICORE_ == 1U) //line 82
#ifndef IFX_INTERRUPT
#define IFX_INTERRUPT(isr, vectabNum, prio) \
void __interrupt(prio) __vector_table(vectabNum) isr(void)
#endif
#endif /* (_TASKING_C_TRICORE_ == 1U) */
但是我看不出/明白怎么了...
您是否知道此问题可能来自何处?
答案 0 :(得分:1)
我认为这是因为您没有定义_TASKING_C_TRICORE_
,所以它无法计算该表达式。尝试这样的事情;
#if defined (_TASKING_C_TRICORE_)
#if (_TASKING_C_TRICORE_ == 1U) //line 82
#ifndef IFX_INTERRUPT
#define IFX_INTERRUPT(isr, vectabNum, prio) \
void __interrupt(prio) __vector_table(vectabNum) isr(void)
#endif
#endif /* (_TASKING_C_TRICORE_ == 1U) */
#endif /* defined(_TASKING_C_TRICORE_) */