21ic电子技术开发论坛
标题:
宏定义问题
[打印本页]
作者:
handleMessage
时间:
2017-7-22 10:19
标题:
宏定义问题
#ifdef __IAR_SYSTEMS_ICC__
#if __VER__ >= 200
#pragma vector=TIMERA0_VECTOR
__interrupt void TIMERA0_rx (void)
#else
interrupt[TIMERA0_VECTOR] void TIMERA0_rx (void)
#endif
#else
interrupt[TIMERA0_VECTOR] void TIMERA0_rx (void)
#endif
看这段程序#ifdef __IAR_SYSTEMS_ICC__
#if __VER__ >= 200
这两句我没找到宏定义
作者:
bbapple
时间:
2017-7-22 10:28
.h文件?会不会在这里呢???
作者:
handleMessage
时间:
2017-7-22 10:29
在.h文件里也没有,宏定义到哪里了
作者:
handleMessage
时间:
2017-7-22 10:29
/为了保证代码可以在IAR编译器的任何版本中都能正确得到编译,所以作以下的条件编译。
#ifdef __IAR_SYSTEMS_ICC__ //如果编译器是IAR, 那么以下将被编译。
#if __VER__ >= 200
#pragma vector=USART0RX_VECTOR //在IAR2.0以上中断函数声明。
__interrupt void SPI0_rx (void)
#else //在IAR2.0以下中断函数声明。
interrupt[USART0RX_VECTOR] void SPI0_rx (void)
#endif //IAR中断函数声明结束。
{ }
作者:
zhouhuanの
时间:
2017-7-22 10:32
为什么中断函数头是按#pragma vector=TIMERA0_VECTOR
__interrupt void TIMERA0_rx (void)
作者:
wanglaojii
时间:
2017-7-22 10:37
没有宏定义就不是不使用的吧。
作者:
laozhongyi
时间:
2017-7-22 10:38
如果出现重复定义的话,再查找看看的。
作者:
Edisons
时间:
2017-7-22 10:45
没找到宏定义,编译时候也会报错的吧
作者:
_gege
时间:
2017-7-22 10:46
全局搜索试试。楼主用的什么编译器呢?
作者:
Mozarts
时间:
2017-7-22 10:52
如果使用CCS的话,是需要自己添加宏定义的。。
作者:
Listate
时间:
2017-7-22 10:53
不妨使用右键查找一下吧。
作者:
戈卫东
时间:
2017-7-22 12:11
这个,是编译器自己给出的宏定义,本来就不应当在源程序中出现的。
欢迎光临 21ic电子技术开发论坛 (https://bbs.21ic.com/)