打印
[应用相关]

宏定义问题

[复制链接]
764|16
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
stly|  楼主 | 2018-8-15 15:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#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
这两句我没找到宏定义
沙发
llljh| | 2018-8-15 15:53 | 只看该作者
.h文件?会不会在这里呢???

使用特权

评论回复
板凳
磨砂| | 2018-8-15 15:58 | 只看该作者
楼主代码不全 没法说

使用特权

评论回复
地板
ayb_ice| | 2018-8-15 16:03 | 只看该作者
这个是编译器来定义的

使用特权

评论回复
5
stly|  楼主 | 2018-8-15 16:04 | 只看该作者


在.h文件里也没有,宏定义到哪里了

使用特权

评论回复
6
stly|  楼主 | 2018-8-15 16:08 | 只看该作者

/为了保证代码可以在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中断函数声明结束。

{ }

使用特权

评论回复
7
pengf| | 2018-8-15 16:11 | 只看该作者

为什么中断函数头是按#pragma vector=TIMERA0_VECTOR
__interrupt void TIMERA0_rx (void)

使用特权

评论回复
8
pangb| | 2018-8-15 16:14 | 只看该作者

没有宏定义就不是不使用的吧。

使用特权

评论回复
9
pangb| | 2018-8-15 16:19 | 只看该作者
如果出现重复定义的话,再查找看看的。

使用特权

评论回复
10
ousj| | 2018-8-15 16:22 | 只看该作者
没找到宏定义,编译时候也会报错的吧

使用特权

评论回复
11
zyf部长| | 2018-8-15 16:27 | 只看该作者
全局搜索试试。楼主用的什么编译器呢?

使用特权

评论回复
12
zwll| | 2018-8-15 16:30 | 只看该作者
如果使用CCS的话,是需要自己添加宏定义的。。

使用特权

评论回复
13
chuxh| | 2018-8-15 16:34 | 只看该作者
不妨使用右键查找一下吧。

使用特权

评论回复
14
juventus9554| | 2018-8-15 16:37 | 只看该作者
这个,是编译器自己给出的宏定义,本来就不应当在源程序中出现的。

使用特权

评论回复
15
stly|  楼主 | 2018-8-15 16:41 | 只看该作者

唉,还是没有什么结果,算了,先结贴吧,多谢大家啦

使用特权

评论回复
16
八层楼| | 2018-8-16 08:22 | 只看该作者
肯定有 要不然会报错的

使用特权

评论回复
17
Richardd| | 2018-8-20 16:36 | 只看该作者
不能自己定义一下吗

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

433

主题

7058

帖子

0

粉丝