您现在的位置: 主页 > MCU > 单片机应用 > 430精确延时问题 -
本文所属标签:
为本文创立个标签吧:

430精确延时问题 -

来源: 网络用户发布,如有版权联系网管删除 2018-09-08 

[导读]
发现一种MSP430的精确延时方法,经测试,确实狠精确。最低可以精确到1/OSC,例如:如果采用8MHz的晶体,那么最小延时就是125ns,已经利用示波器通过验证。具体做法如下:先做如下预定义:#define CPU_F

发现一种MSP430精确延时方法,经测试,确实狠精确。最低可以精确到1/OSC,例如:如果采用8MHz的晶体,那么最小延时就是125ns,已经利用示波器通过验证。

本文引用地址: http://www.21ic.com/app/mcu/201806/764529.htm

具体做法如下:

先做如下预定义:

#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))

其中第一行中的8000000为时钟,可以根据自己时钟设置。

然后在程序中直接条用delay_us和delay_ms即可。非常好用,入:

delay_ms (1); //延时1ms

delay_us(1); //延时1us

delay_us(0.125); //延时0.125us

注意:最低延时只能是1/OSC,否则就没有延时了。

该方法缺点:不能传递变量,只能将常数作为参数




              查看评论 回复



嵌入式交流网主页 > MCU > 单片机应用 > 430精确延时问题 -
 

"430精确延时问题 -"的相关文章

网站地图

围观()