
一、延时函数delay怎么算
1、DelayMS(300)表示希望系统delay 300毫秒,系统有自己的RTC,根据硬件的晶振(Hz)可以计算出一次振荡大约多少耗时,这样就能大约算出1ms需要多少次振荡;
2、简单比喻一次振荡需要1us,那1ms就是1000次振荡,300ms就是300x1000次振荡,这样就能大概的计算出300ms delay;
3、这得看你的CPU运行一条指令得多久,像单片机89C51一般一条1us。
delay延迟的时间计算一般有两种方式。
第一,可用循环去计算时间,这样的方法去调整而接近某个时间,如
Int i =0;
For( i=0;i<10000;i++)
{
i++;
}。
另一种是停止线程的方式,如
System.thread.sleep(1000)这表示运行停止一秒,sleep的参数是毫秒的。以这种方式做delay比用循环方便些