
delay(
)函数并百不是标准库函数,是编程人员自定义度的一个函数(通常是延时函数),所以其并不包含问在其他头文件中。
下面给出51单片机中一答个常见的延时函内数。
// 延时z毫秒的延时函数
void delay(unsigned int z)
{
unsigned int i,j;
for(i=z;i>0;i--)
for(j=110;j>0;j--); // 利用无实际意义的for循环来进容行延时
}
函数名: delay
功 能: 将程序的执行暂停一段时间(毫秒)
用 法: void delay(unsigned milliseconds);
程序例:
/ Emits a 440-Hz tone for 500 milliseconds /
#include<dosh>
int main(void)
{
sound(440);
delay(500);
nosound();
return 0;
}
wait 是等待子进程的返回
sleep 参数指定暂停时间, 单位是 s
delay 参数指定暂停时间, 单位是 ms
所以 sleep(n) == delay(1000n)
原型:extern void sleep(unsigned int sec);
用法:#include <systemh
功能:短暂延时
说明:延时sec秒举例:// sleepc
#include <systemh
main(){int c;clrscr();printf("\nHello, world!");sleep(1);clrscr();printf("\nHi, guys");getchar();return 0;}原型:extern void delay(unsigned int msec);
用法:#include <systemh
功能:短暂延时
说明:延时msec4毫秒举例:// delayc
#include <systemh
main(){int c;clrscr();printf("\nHello, world!");
delay(250); // 2504=1000msec=1secclrscr();printf("\nHi, guys");getchar();return 0;}wait(等待子进程中断或结束)相关函数waitpid,fork表头文件#include<sys/typesh
#include<sys/waith
定义函数pid_t wait (int status);函数说明
wait()会暂时停止目前进程的执行,直到有信号来到或子进程结束。如果在调用wait()时子进程已经结束,则wait()会立即返回子进程结束状态
值。子进程的结束状态值会由参数status 返回,而子进程的进程识别码也会一快返回。如果不在意结束状态值,则参数status可以设成NULL。子进程的结束状态值请参考waitpid()。
返回值如果执行成功则返回子进程识别码(PID),如果有错误发生则返回-1。失败原因存于errno中。
delay(unsigned long) 使程序暂停执行指定的毫秒时间。
使用delay()函数有很大的缺点。因为在delay函数运行期间,程序的大多数其他的事情都会停止,等待delay函数结束。比如传感器数据的读取、数学计算或pin *** 作都无法进行。
除非Arduino程序非常简单,通常应该避免使用delay()来计时超过10毫秒的事件。
一个办法是使用轮询的机制,使用millis()函数查询时间来计时。
C语言delay函数延时计算源代码如下:
#include "stdlibh"
void delay()
{
time_t start,end;
start=time(null);
unchar i;
while(z--)
{
for(i=0;i<121;i++);
}
end=time(null);
printf("%f",difftime(end,start));
}
扩展资料
1、对于要求精确延时时间更长,这时就要采用循环嵌套的方法来实现,因此,循环嵌套的方法常用于达到ms级的延时。
对于循环语句同样可以采用for,do…while,while结构来完成,每个循环体内的变量仍然采用无符号字符变量。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)