怎样让单片机程序循环

怎样让单片机程序循环,第1张

void main()

{

unsigned int i;

while(1) {

for(i=0;i<=9;i++)

{

GPIO_DIG=DIG_CODE[i];

Delay10ms(50);

}

for(i=9;i>=0;i--)----错误就在这里 !!!

{

GPIO_DIG=DIG_CODE[i];

Delay10ms(50);

}

GPIO_DIG=0xff;

}

}

i--;

i--;

i--;

i--;

……

减到0,再减,等于什么?

有以下几种情况:

1、程序末尾不用M30和M02,用M20或M99,就可以实现无限循环。

2、在数控程序中间用GOTO跳转到第一行,也是无限循环。

3、用宏程序中的IF或WHILE,可以实现有限循环或无限循环。

4、用M98调用子程序实现循环。

5、G73实际上也是一个循环程序,是有限循环。

以上实例不是所有的数控系统都适应。

如果我的回答对您有帮助,请及时采纳为最佳答案,谢谢!

首先可以确认的是,这道题目的答案就是:4

程序运行结果:

接下来我们来分析下这道题目:

1、双重for循环 2 x 4(第一重执行两次,第二重执行小于4次,因为有if条件),

2、当 i = 0, j = 0是,if(j % 2)等价于 if(0), break不会被执行,此时a++执行一次,此时a == 1;

3、 当 i = 0, j = 1是,if(j % 2)等价于 if(1), break会被执行,第二个for循环中的a++不会执行,但是第一个for循环中a++会被执行一次,此时a == 2;

4、当 i = 1时, j依旧只会出现2,3步骤中情况,所以此时a++又被执行了两次,此时a==4,

5、当a==2时,第一个for循环条件不成立,退出,打印结果。

以上是我对这道题目的理解,如果对你有帮助,请采纳下, 谢谢。

EOF 其实是一个宏,在预编译期间会被编译器用 -1 代替

也就是说,当scanf 的返回值是 -1 时就会跳出循环。

scanf 的返回值是前 N 个成功度取得数据的数量,简单点说就是成功读了多少个数据,不过有区别,如果你第一个输入数据非法的话,就算你后面是合法输入,也会返回 0 。

EOF 是 end of file 的意思,也就是文件尾。如果是读文件的话,读到文件尾就会结束循环。

如果使用键盘输入的话, 输入 Ctrl + z 就可以结束循环(貌似是模拟文件结束符还是什么的,我也不太清楚),不过我所说的是在windows 环境下,如果是其他 *** 作系统就另当别论了。

印象中,以前在百度 scanf()=EOF 看到过一篇文章就是这么讲的

当一个或者多个指令(程序)重复多次(次数可知)时,可使用FOR指令。

FOR为有限次循环指令

程序循环结构用于描述一段程序的重复循环执行。由FOR和NEXT指令构成程序的循环体。FOR指令标记循环的开始,NEXT指令为循环体的结束指令。

FOR指令为指令盒格式,主要参数有使能输入EN、当前值计数器INDX、循环次数初始值INIT和循环计数终值FINAL。

以上就是关于怎样让单片机程序循环全部的内容,包括:怎样让单片机程序循环、请问数控循环程序有哪几种先谢谢了、c程序for循环等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/9330732.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-27
下一篇2023-04-27

发表评论

登录后才能评论

评论列表(0条)

    保存