怎么用定时器写延时函数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎么用定时器写延时函数相关的知识,希望对你有一定的参考价值。

参考技术A 利用循环处理的方式实现的延时,并不精确。
1、当中断发生时,CPU被打断先执行中断服务。导致执行时间变长。
2、使用高级语言时,编译的结果受优化等级等多方面因素干扰,难以计算。

3、在有MMU和Cache的MCU中,指令的执行速度还会受到缓存的影响。
利用定时器延时:
1、因为定时器累加与CPU无关,即使中断,仍然会保持计数。不受上述问题影响
2、缺点需要占用定时器资源。
3、功耗也会高一些

js 怎么设置延时

在网页上有一个div,点击按钮之后每一秒出现一个数字怎么弄啊。我从网上找了一个代码,可是浏览器会假死的,不是我想要的。我就是想要一个类似于java中的sleep函数。
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>jquery的使用</title>
<script type="text/javascript" src="js/jquery.js"></script>
<script>
$(function()
$("#sub").click(func);
)
function func()
for(i=0; i<10; i++)
$("#data").append(i+"<br />");
sleep(1000);


//设置延时函数
function sleep(numberMillis)
var now = new Date();
var exitTime = now.getTime() + numberMillis;
while (true)
now = new Date();
if (now.getTime() > exitTime)
return;


</script>
</head>
<body>
<div id="data"></div>
<input type="button" id="sub" value="sub"/>
</body>
</html>

首先你的这个while循环有很大问题,无限大量的循环,浏览器会扛不住的,
onclick="fun()"触发 (juery定时器)

var interval;
function fun()
interval = setInterval(run,"1000")

function run()
alart("A"); //你所要弹出的字或是相关处理

希望采纳
参考技术A //设置延时函数
function sleep(numberMillis)
var now = new Date();
var exitTime = now.getTime() + numberMillis;
while (true)
now = new Date();
if (now.getTime() > exitTime)
return;


然后调用sleep(1000);
参考技术B var index=0;
function func()
setTimeout("Append()",1000);

function Append()

$("#data").append(index+"<br />");
index++;
if(index<10)

setTimeout("Append()",1000);

本回答被提问者和网友采纳
参考技术C SetInterval与setTimeout追问

能具体写一下么。不过我刚试过这样写过,不过不行。
time=1000;
//设置延时函数
function sleep()
setInterval("sleep()", time);

瞬间就出来了

以上是关于怎么用定时器写延时函数的主要内容,如果未能解决你的问题,请参考以下文章

关于keil延时函数的问题,和硬件不一致

STM32怎么用库函数使用滴答定时器?

请问各位,ucos ii中的软件定时器和延时有啥区别?

Systick时钟

请问51单片机定时器延时的调用是怎么调用的我有点不明白,谢谢

python怎么用延时函数,python小白求求帮忙(哭)