宏定义不太明白啥意思

[复制链接]
2397|1
 楼主| 梦爱琴所 发表于 2012-3-12 11:22 | 显示全部楼层 |阅读模式
#define CPU_F ((double)5529600)  //晶振使用的频率为5.5296MHZ
#define delay_us(x) __delay_cycles((long)CPU_F*(double)x/1000000.0)
#define delay_ms(x) __delay_cycles((long)CPU_F*(double)x/1000.0)


问题:
1)__delay_cycles的下划线代表什么?
2)delay_us(x) __delay_cycles((long)CPU_F*(double)x/1000000.0)具体怎么计算?
3)反汇编后是怎样的?(好奇它的汇编)
哪位对C比较熟的,帮忙解释一下。
amwrdfe 发表于 2012-3-12 12:55 | 显示全部楼层
本帖最后由 amwrdfe 于 2012-3-12 13:00 编辑

__delay_cycles代表的是一个函数或者宏,
具体怎么算,看__delay_cycles是怎么定义的吧。
汇编嘛,
常量其实跟extern没啥区别,数据直接写寄存器或者内存。
带参数的嘛,其实跟调用函数没什么区别...
只是看看keil的汇编而已...其他就不清楚了~
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:像高手学习,像昨天的自己学习

15

主题

480

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部