为了账号安全,请及时绑定邮箱和手机立即绑定

如下的延时函数中while(x--)是什么意思?有了解的吗?

如下的延时函数中while(x--)是什么意思?有了解的吗?

C
哆啦的时光机 2022-12-21 15:15:50
void DelayMS(uint x){uchar t; while(x--)//?{for(t=120;t>0;t--); }}
查看完整描述

2 回答

?
弑天下

TA贡献1818条经验 获得超8个赞

估计你的振荡器(或晶振)的频率为 每120个周期1ms,所以内层循环
for(t=120;t>0;t--);
相当于 1ms

然后外层循环 while(x--){ ... } 控制内层循环执行 x 次,所以达到的效果就是 delay x ms

至于while(x--){ ... },这个 x 是本地变量(局部变量,形参,堆栈上的变量),它的初始值是你在调用该函数时实参拷贝给它的

查看完整回答
反对 回复 2022-12-25
?
慕尼黑8549860

TA贡献1818条经验 获得超11个赞

x是调用者传递过来的参数,用于决定延时的大小。在这个程序中,通过while循环和for循环的嵌套实现空转来完成延时。x--就是给x的值减1.每次循环减1,直到x=0结束循环,也就是终止延时。

查看完整回答
反对 回复 2022-12-25
  • 2 回答
  • 0 关注
  • 83 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信