打印
[MSP430]

关于MSP430的特殊宏定义问题

[复制链接]
2725|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
通宵敲代码|  楼主 | 2013-7-20 19:15 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#define CPU_F ((double)8000000)     //定义CPU 的时钟频率为8M
#define delay_us(x) __delay_cycles((long)(CPU_F*(double)x/1000000.0))// 定义延时1us
#define delay_ms(x) __delay_cycles((long)(CPU_F*(double)x/1000.0))   // 定义延时1ms

类似这种,通过宏定义,就能实现函数的功能,而且参数可变。

用的是什么原理,懂得给具体分析一下,感激不尽。

弟兄们还有类似的用法,也可以贴出来,大家一起交流啊。

相关帖子

沙发
dirtwillfly| | 2013-7-20 20:06 | 只看该作者

define就是宏定义啊,在编译时,会用后面的表达式来替换宏名
详情见http://baike.baidu.com/view/1441209.htm

使用特权

评论回复
板凳
通宵敲代码|  楼主 | 2013-7-21 16:18 | 只看该作者
dirtwillfly 发表于 2013-7-20 20:06
define就是宏定义啊,在编译时,会用后面的表达式来替换宏名
详情见http://baike.baidu.com/view/ ...

这个我懂,但资料上说只是在编译以前进行字符上的代换,那为何x可以设置参数呢。就这点我不明白。

通过宏定义实现函数的功能,这可是个不小的知识点,值得深究啊。

使用特权

评论回复
地板
dirtwillfly| | 2013-7-21 19:07 | 只看该作者
通宵敲代码 发表于 2013-7-21 16:18
这个我懂,但资料上说只是在编译以前进行字符上的代换,那为何x可以设置参数呢。就这点我不明白。

通过 ...

:L你仔细看看我发的那个链接,里面有说明。
这是宏定义的另一种用法

使用特权

评论回复
5
ayb_ice| | 2013-7-22 08:08 | 只看该作者
自动计算延时多少指令周期而已

使用特权

评论回复
6
黄昏初见| | 2013-7-22 08:41 | 只看该作者
这种用法就是这么规定的,没有为什么,就像定义函数一样,也没人问为什么要那么定义啊。

使用特权

评论回复
7
通宵敲代码|  楼主 | 2013-7-22 10:57 | 只看该作者
dirtwillfly 发表于 2013-7-21 19:07
你仔细看看我发的那个链接,里面有说明。
这是宏定义的另一种用法

仔细看过了,谢谢,我竟然才知道宏定义可以含参数,太悲哀了,该补脑了。

带参宏定义
c语言允许宏带有参数。在宏定义中的参数称为形式参数,在宏调用中的参数称为实际参数。对带参数的宏,在调用中,不仅要宏展开,而且要用实参去代换形参。
带参宏定义的一般形式为:  #define 宏名(形参表) 字符串
在字符串中含有各个形参。 带参宏调用的一般形式为:  宏名(形参表)

使用特权

评论回复
8
通宵敲代码|  楼主 | 2013-7-22 11:03 | 只看该作者
http://blog.csdn.net/apple_guet/article/details/6976643
根据此处的介绍,竟然可以设定小数,太强大了吧。

使用特权

评论回复
9
xu350780| | 2013-9-3 13:01 | 只看该作者
这个可以有一下,挺方便的

使用特权

评论回复
10
cdf1214| | 2015-3-28 16:23 | 只看该作者
                 北京长实拓展电子有限公司
本公司主营TI. NXP. IR. ON. SiLicon                                                                                                       等著名世界品牌产品。
MSP430F一系列TI储存芯片 微控处理器
MSP430F149IPMR MSP430F5438AIPZR MSP430F5438IPZR等。
C8051F 一系列SILICON 单片机 微控处理器
C8051F020 C8051F120 C8051F340 C8051F040等
LPC一系列NXP单片机  
LPC2132FBD64 LPC2134FBD64 LPC2214FBD144  
LPC2378FBD144 LPC2292FBD144等一系列供应
专营:低压差 基准源 三 五 七端稳压 二三极管 场效应 快恢复 肖特基二极管 可控硅 达林顿 整流桥 TVS管 光藕 MAX AD 集成电路 
                   北京长实拓展电子销售:陈冬锋
                                     QQ:2850327057
                      电话:15711002528,13641144498

使用特权

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

本版积分规则

个人签名:年轻不是资本,奋斗才是良策!

302

主题

7539

帖子

69

粉丝