求大神解释一下C语言中这段程序是什么意思?实现了什么功能?

求大神解释一下C语言中这段程序是什么意思?实现了什么功能?

void DelayMS(uint ms)
{
uchar i;
while(ms--)
{
for(i=0;i<120;i++);
}
}
标准的C语言延时函数
这是一个延时子程序,延时的时间长短和乱滚你调用这个子程序的时候ms的数值有关。ms越大,延时越长。
子程序里面第一条uchar i 不解释
第二条 是一个while循环,先判断ms是否为0 如果不为零执行括号里面的循环,执哗简余行完后ms减1。
第三条是一个for循咐宏环,目的也很明确,i从0加到120,完了返回循环。

C语言的这种程序主要就是用来延时的,延时的时间由ms,i和系统的时钟决定。具体的时间不同的编译器会有差异,需要实验得出。
延时功能

参数为一个无符号整数,将其减1,直到等于1退出,循环体迅姿内为从坦昌猜0循环到120;

整让型个程序就是在做延时
简单的说,就是延时程序,根据函数名字也可以看出来。
至于for循环中120,我推测可能是循环运晌执行120次空语句的时间为1MS。
向该函数祥悄悄谨渣传入ms,则可以使程序延时相应的时间。
空循环,一般隐侍知是延时用的
不过这种延时是时间不确定的,谈液因为cpu的运行速度灶消不一样的话,延时是不一样的

我看这段代码,就是C51的代码,同学是在学51单片机吧

总的来说这是一段延时程序。

void DelayMS(uint ms) //ms为你要延时多少秒
{

  uchar i;

while(ms--)//直到ms=0退出while循环

{

  for(i=0;i<120;i++);//这一段for循环是代表机子运行1s的时间
 
         拦宴闭   简裂         祥告              //不一定是i〈120为1秒具体由调试为准     
      }

}

← 上一篇: 下一篇: →