waakoeng 发表于 2020-9-25 10:40:27

有关延时函数求助

void delay(u16 i)
{
while(i--);
}
...

delay(50000);

...
这个延时函数没看懂是什么意思,函数里有两个参数u16和i,调用时为什么就一个参数50000,还有为什么i=1时,大约延时10us。希望得到大家的帮助,谢谢!

waakoeng 发表于 2020-9-27 19:24:37

这个延时函数确实看不懂,请大家帮忙讲解一下,谢谢!

lijl 发表于 2020-12-8 13:45:02

因为i设置好了,有一个控制变量就行

lijl 发表于 2020-12-8 13:49:42

lijl 发表于 2020-12-8 13:45
因为i设置好了,有一个控制变量就行

for循环指令运行一次需要的时间,for循环里没有其他代码,所示大约是10us,、

2560804055 发表于 2021-2-18 14:55:50

这个延时函数就像相当于,设定好的,i是一个固定的一个参数。这个参数的比例是1000等于10毫秒,然后你的这里的50000就相当于是500毫秒,也就是5秒。这个就是一个固定的延时函数,可以直接用。
然后楼下说的那种是for循环,自己设置一个延时函数,进行定义
页: [1]
查看完整版本: 有关延时函数求助