您的位置首页百科知识

delay函数

delay函数

更改了j延时的函数时间就变了,所以频率就在不断变化了。

void delay(unsigned int i)

{

unsigned char j;

for(i;i>0;i--)

for(j=255;j>0;j--)//延时函数本来是i*j循环的时间,j改变了i*j当然也改变了.

}

cpu每次执行一次代码的时间是一定的,如果改变执行代码的次数不同的话,就相当于改变了外设等待cpu的时间。即假如执行一次循环是1ms的话,那么执行参数为600时就相当于等待了600*255*1ms,在这个时候外设就处于等待阶段,相当于延时,也就可以看到了LED间隔性的明灭!

cpu对i,j进行增减的时候需要消耗一定的时间,这个时间通常为1/cpu频率,但具体时间要视计算机运算时的状态而定