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

voidDelayMS(uintms){uchari;while(ms--){for(i=0;i<120;i++);}}... void DelayMS(uint ms)
{
uchar i;
while(ms--)
{
for(i=0;i<120;i++);
}
}
展开
 我来答
〓傳★說〓
2013-06-17 · 超过54用户采纳过TA的回答
知道小有建树答主
回答量:232
采纳率:0%
帮助的人:164万
展开全部
标准的C语言延时函数
kofsaturn
2013-06-17 · TA获得超过317个赞
知道答主
回答量:99
采纳率:100%
帮助的人:75.7万
展开全部
这是一个延时子程序,延时的时间长短和你调用这个子程序的时候ms的数值有关。ms越大,延时越长。
子程序里面第一条uchar i 不解释
第二条 是一个while循环,先判断ms是否为0 如果不为零执行括号里面的循环,执行完后ms减1。
第三条是一个for循环,目的也很明确,i从0加到120,完了返回循环。

C语言的这种程序主要就是用来延时的,延时的时间由ms,i和系统的时钟决定。具体的时间不同的编译器会有差异,需要实验得出。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
梦里寻你我他
2013-06-17 · TA获得超过2199个赞
知道大有可为答主
回答量:2171
采纳率:42%
帮助的人:1208万
展开全部
延时功能

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

整个程序就是在做延时
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
tmfengxin1
2013-06-17 · TA获得超过623个赞
知道小有建树答主
回答量:344
采纳率:0%
帮助的人:110万
展开全部
简单的说,就是延时程序,根据函数名字也可以看出来。
至于for循环中120,我推测可能是循环执行120次空语句的时间为1MS。
向该函数传入ms,则可以使程序延时相应的时间。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
cpucash
2013-06-17 · TA获得超过1584个赞
知道小有建树答主
回答量:1457
采纳率:66%
帮助的人:967万
展开全部
空循环,一般是延时用的
不过这种延时是时间不确定的,因为cpu的运行速度不一样的话,延时是不一样的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zxqzlh
2013-06-17 · 超过14用户采纳过TA的回答
知道答主
回答量:52
采纳率:0%
帮助的人:30.8万
展开全部

我看这段代码,就是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秒具体由调试为准     
      }

}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(9)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式