打印

IAR 430开发环境里msp430x14x.h中 defw 的用法??

[复制链接]
5663|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
wanli518happy|  楼主 | 2011-7-16 15:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 wanli518happy 于 2011-7-16 17:14 编辑

#define MPY_                (0x0130)  /* Multiply Unsigned/Operand 1 */
DEFW(   MPY               , MPY_)
#define MPYS_               (0x0132)  /* Multiply Signed/Operand 1 */
DEFW(   MPYS              , MPYS_)


#ifdef __IAR_SYSTEMS_ASM__
#define DEFC(name, address) sfrb name = address;
#define DEFW(name, address) sfrw name = address;



在这里 DEFW(, ) 有何功能??
谢谢

相关帖子

沙发
wangflw| | 2011-7-17 00:20 | 只看该作者
这是宏定义啊。相当于替换;
首先
1.#define DEFC(name, address) sfrb name = address;
2.#define MPYS_               (0x0132)  /* Multiply Signed/Operand 1 */
定义了2个宏定义,分2个步骤替换就可以啦!
DEFW(   MPYS              , MPYS_)根据宏定义2,就相当于DEFW(   MPYS              , (0x0132));
而DEFW(   MPYS              , (0x0132))根据宏定义1,就相当于sfrb MPYS = 0x0132;(这个你应该能看懂了吧?就是一个寄存器的定义)

#define DEFC(name, address) sfrb name = address;属于带参数的宏定义,具体的你可以看看define的百度百科:http://baike.baidu.com/view/1611565.htm

使用特权

评论回复
板凳
l289123557| | 2014-3-13 15:59 | 只看该作者

使用特权

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

本版积分规则

0

主题

9

帖子

1

粉丝