[应用相关] for循环的简单问题

[复制链接]
 楼主| feiqi1 发表于 2017-4-1 21:48 | 显示全部楼层 |阅读模式

延时要嵌套for循环,请问大的数字循环在外面还是小的数字循环在外面?请问如何设置会更优化程序?
    if(Dis_NoneLoadTimer1 > 12)
                                {
                                        Dis_NoneLoadTimer2++;
                                        if(Dis_NoneLoadTimer2 > 100)
                                        {

                                                Dis_NoneLoadTimer2 = 0;
                                        }

                                        Dis_NoneLoadTimer1 = 0;
                                }
                        }
androidbus 发表于 2017-4-1 21:54 | 显示全部楼层
不建议用循环,浪费资源还费电。用定时器吧。
 楼主| feiqi1 发表于 2017-4-1 21:56 | 显示全部楼层
在定时器里面直接timer++ ,然后在函数里面判断timer > 12000 吗?
litengg 发表于 2017-4-1 22:04 | 显示全部楼层
feiqi1 发表于 2017-4-1 21:56
在定时器里面直接timer++ ,然后在函数里面判断timer > 12000 吗?

这个能够直接定时1mS就好啊!!
qiangweii 发表于 2017-4-1 22:07 | 显示全部楼层
一般单片机 都会自己给自己做个 1MS定时器
shashaa 发表于 2017-4-1 22:13 | 显示全部楼层
去CPU时钟计数器 也是很准确的。。
xia00 发表于 2017-4-1 22:15 | 显示全部楼层
定时器只开一个,但是计数有很多个变量
hfdy01 发表于 2017-4-1 22:20 | 显示全部楼层
在中断外边进行比较变量大小,就可以进行定时了。
CallReceiver 发表于 2017-4-1 22:22 | 显示全部楼层
feiqi1 发表于 2017-4-1 21:56
在定时器里面直接timer++ ,然后在函数里面判断timer > 12000 吗?

我一般用一个变量。具体看你的需求吧
boy1990 发表于 2017-4-1 22:28 | 显示全部楼层
我们写程序一般不用if 或 delay来延时。
sourceInsight 发表于 2017-4-1 22:30 | 显示全部楼层
在多重循环中,如果有可能,应当将最长的循环放在最内层,最短的循环放在最外层,以减少CPU 跨切循环层的次数。
xiaoyaodz 发表于 2017-4-1 23:00 | 显示全部楼层
这个都一样的。
xiaoyaodz 发表于 2017-4-1 23:01 | 显示全部楼层
for循环都是嵌套的,无所谓的。
pixhw 发表于 2017-4-2 11:32 | 显示全部楼层
循环次数都是一样的,有什么区别?
pixhw 发表于 2017-4-2 11:36 | 显示全部楼层
入股是循环查找的话,可以外面是大循环减少执行次数。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

424

主题

1616

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部