在C语言程序中,延时函数的时间是怎么算的?

比如说以下一段:voiddelay(){unchari;while(z--){for(i=0;i<121;i++);}}delay(600)为延时多长时间?晶振12MHZ... 比如说以下一段:
void delay()
{
unchar i;
while(z--)
{
for(i=0;i<121;i++);
}
}

delay(600)为延时多长时间?
晶振12MHZ
展开
 我来答
百度网友e7d13b2
推荐于2018-04-13 · TA获得超过469个赞
知道小有建树答主
回答量:159
采纳率:0%
帮助的人:125万
展开全部
这个是和你机器的运算速度有关的
你要计算出这个函数用了多少时间就要用时间函数,我很久没用了。

#include "stdlib.h"

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));
}

//time_t是在头文件中定义的,可能是个结构体类型里面的成员定义了一些时间的单位,如年、月、日。在这里调用这个结构体定义2个变量;
//start=time(null);
将其中一个变量赋值。它的值等于当前的系统时间
//end=time(null);
在程序结束的时候再给另一个变量赋值,值等于当前的系统时间。
//difftime(end,start)
函数difftime();是double类型,用来计算运行的时间,用第一个参数的时间减去第二个参数的时间,得到的值就是运行用了多少时间。单位为秒
阎吉敏郎诺
2010-07-26 · TA获得超过3万个赞
知道大有可为答主
回答量:1.1万
采纳率:33%
帮助的人:892万
展开全部
这个是和你机器的运算速度有关的
你要计算出这个函数用了多少时间就要用时间函数,我很久没用了。
#include
"stdlib.h"
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));
}
//time_t是在头文件中定义的,可能是个结构体类型里面的成员定义了一些时间的单位,如年、月、日。在这里调用这个结构体定义2个变量;
//start=time(null);
将其中一个变量赋值。它的值等于当前的系统时间
//end=time(null);
在程序结束的时候再给另一个变量赋值,值等于当前的系统时间。
//difftime(end,start)
函数difftime();是double类型,用来计算运行的时间,用第一个参数的时间减去第二个参数的时间,得到的值就是运行用了多少时间。单位为秒
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
植子昂户嘉
2016-06-07 · TA获得超过2.9万个赞
知道大有可为答主
回答量:1.1万
采纳率:35%
帮助的人:762万
展开全部
所谓的延时程序,就是让程序进入一段无效循环,达到延时目的
有一个延时参数表的。
下面是一个10ms延时子程序(12mhz)
void
delay10ms(void)
{
unsigned
char
i,j,k;
for(i=5;i>0;i--)
for(j=4;j>0;j--)
for(k=248;k>0;k--);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Fanzhenghuan
2012-09-03
知道答主
回答量:13
采纳率:0%
帮助的人:8880
展开全部
例如
void delay(uint z) //3*(j+2)*i=3*(332+2)*600=601200us=601ms
{
uint i,j;
for(i=z;i>0;i--)
for(j=332;j>0;j--);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式