delay() c语言延迟函数

delay() c语言延迟函数,第1张

下面是delay

函数原型:

原型:

void

Delay(unsigned

int

nDelay)

{

unsigned

int

i,j,k

for

(

i=0i<nDelayi++

)

for

(

j=0j<6144j++

)

k++

}

用法:#include

<system.h>

功能:短暂延时

说明:延时msec*4毫秒所以,delay的延迟时间是和你的cpu时钟周期相关的

我记得keil里面有时间的,好久不用了,单位好像是微秒吧!就是那个分步执行,按一下执行一步的..

比如前面那个箭头指到你的调用函数delay(200);假设执行到此部用时1110。

按一下执行,箭头指到下一“;”前的那一句了,如果此时用时显示变成了1510,说明延时函数延时了400us

要注意选择对的晶振频率

你给的算法误差大,不同的计算机运算速度不同,等待时间不同。

暂停,可以用

Windows.h

里的

Sleep()

函数,也可以自己写。

Sleep(1000)

参数是1000毫秒,就是暂停

1

秒。一般人认为,Sleep函数,每秒可能有25毫秒误差。

自己写,可以利用

clock

()

函数,clock

()

函数送返从程序开始运行到调用时的时间间隔,单位是毫秒。暂停开始,用clock

()

取开始时间,然后,只要用clock

()再取时间,判断是否到结束时间,没到则继续暂停。

//

等待

多少秒:

void

wait

(

int

seconds

)

{

clock_t

endwait

endwait

=

clock

()

+

seconds

*

CLOCKS_PER_SEC

while

(clock()

<

endwait)

{}

}

//

等待多少毫秒:

void

wait_ms

(

int

ms

)

{

clock_t

endwait

endwait

=

clock

()

+

ms

while

(clock()

<

endwait)

{}

}

精确计时算法见L_o_o_n_i_e

百度空间文章:C语言时间函数的应用


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/12016096.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-20
下一篇2023-05-20

发表评论

登录后才能评论

评论列表(0条)

    保存