C语言中用什么函数来延时 谢谢

C语言中用什么函数来延时 谢谢,第1张

延迟函数,一般建议调用系统函数。不建议循环。

特别是多任务 *** 作系统,循环会消耗系统资源。

如果是Dos,indows,linux系统建立调用 Sleep()函数。

其他系统,请自行查找。

在单片机C语言中_nop_()包含在头文件intrinsh中。

_nop_()是一个空 *** 作,对应于汇编语言中的NOP语句。执行该函数,将占用1个机器周期的时间,常用于局部短暂延时。比如执行以下程序段,12M晶振的情况下,将在P0口产生频率为250K的方波。

while(1)

{

P0=0x00;

_nop_();

_nop_();

P0=0xff;

_nop_();

_nop_();

}

1、C语言中没有_nop_()函数,该函数是在51单片机中用的延时函数,延时一个指令周期。一般包含在 intrinsh 头文件当中。

2、例如用6MHz的晶振,则如下for循环大约延时1秒。

int i;

for(i=0; i<6000000; i++)

_nop_(); // 延时一个指令周期,相当于执行一条无意义的语言

回答这个问题前提需要搞清楚:

1你的执行文件在那里运行?

2你要延时是否“死等”,还是可以切换到其他任务?

-----------------------------------------------

如果你只是学习c语言,写个小函数玩玩,可以如下:

void delay(int time)

{

for(;time>0;time--)

{

nop;//可写任何无意义的 *** 作

}

}

死等型的延时,时间根据指令执行速度不同而不同!!!!

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

原文地址: https://outofmemory.cn/langs/12183799.html

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

发表评论

登录后才能评论

评论列表(0条)

保存