求大神解释一下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++);
}
} 展开
{
uchar i;
while(ms--)
{
for(i=0;i<120;i++);
}
} 展开
11个回答
展开全部
这是一个延时子程序,延时的时间长短和你调用这个子程序的时候ms的数值有关。ms越大,延时越长。
子程序里面第一条uchar i 不解释
第二条 是一个while循环,先判断ms是否为0 如果不为零执行括号里面的循环,执行完后ms减1。
第三条是一个for循环,目的也很明确,i从0加到120,完了返回循环。
C语言的这种程序主要就是用来延时的,延时的时间由ms,i和系统的时钟决定。具体的时间不同的编译器会有差异,需要实验得出。
子程序里面第一条uchar i 不解释
第二条 是一个while循环,先判断ms是否为0 如果不为零执行括号里面的循环,执行完后ms减1。
第三条是一个for循环,目的也很明确,i从0加到120,完了返回循环。
C语言的这种程序主要就是用来延时的,延时的时间由ms,i和系统的时钟决定。具体的时间不同的编译器会有差异,需要实验得出。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
延时功能
参数为一个无符号整数,将其减1,直到等于1退出,循环体内为从0循环到120;
整个程序就是在做延时
参数为一个无符号整数,将其减1,直到等于1退出,循环体内为从0循环到120;
整个程序就是在做延时
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
简单的说,就是延时程序,根据函数名字也可以看出来。
至于for循环中120,我推测可能是循环执行120次空语句的时间为1MS。
向该函数传入ms,则可以使程序延时相应的时间。
至于for循环中120,我推测可能是循环执行120次空语句的时间为1MS。
向该函数传入ms,则可以使程序延时相应的时间。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
空循环,一般是延时用的
不过这种延时是时间不确定的,因为cpu的运行速度不一样的话,延时是不一样的
不过这种延时是时间不确定的,因为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秒具体由调试为准
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询