MSP430F149编程问题,,这种延时函数谁能给我解释下不,,我不是太懂

#defineCPU_F((double)8000000)#definedelay_us(x)__delay_cycles((long)(CPU_F*(double)x/... #define CPU_F ((double)8000000)
#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))
展开
 我来答
NC_PDF
2015-07-24 · TA获得超过351个赞
知道小有建树答主
回答量:273
采纳率:0%
帮助的人:215万
展开全部

如果这样写,应该更好理解:

#define delay_us(x)    __delay_cycles(x*8)
#define delay_ms(x)    delay_us(x*1000)

所以关键在__delay_cycles。这应该也是个函数,它根据单片机主频精确计算出运行一次所花的时间,譬如是0.125us。那么要延迟1us,相当于执行8次该函数。

至于#define CPU_F ((double)8000000),这是根据单片机手册及主频而设定的一个值。以你目前的水平,可以不关注具体的细节,只需拿过来用就好。

北京康思
2018-09-20 广告
1、基本功能。市面上的电子负载均有基本的四项功能:恒流、恒压、恒阻和恒功率(安捷伦没有恒功率)。在功能基本相同,精确度相差不大的情况下,怎么判断是否符合要求呢?CHROMA和博计的电子负载只有一套工作电路,就是恒流功能。其他功能是根据欧姆定... 点击进入详情页
本回答由北京康思提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式