求大神帮我看看这个程序
![](../imgqa/ele/mcu/mcu-3721rd.com-16384w44d5agxye5.png)
就这个交通灯。为什么到左转灯那里就是不执行下一步让红灯亮?而是一直循环左转灯?
最好把程序用文本贴出来,图片方式不好拷贝,这样说吧,按30秒计时,一开始亮绿灯,15秒后亮左转灯,最后5秒时亮红灯,执行顺序是
初始化,亮绿灯,NUM=30
以下是循环判断
一,定时到,修改NUM值
二,NUM是否等于15,是则灭绿灯,亮左转灯。
三,NUM是否等于5,是则灭左转灯,亮红灯。
四,NUM是否等于0,是则灭红灯,亮绿灯,NUM=30。
返回一继续判断
你红灯亮那里根本执行不到啊
我是刚才学的菜鸟。就是不懂为什么 那里执行不到?能仔细解答下嘛?谢谢了
你那里的判断是num==0,进入之后把num变成10了,那下面那个num==0那里还怎么执行
那大神你说这里该怎么解决?我实在是想不通了
那大神你说这里该怎么解决?我实在是想不通了
那大神你说这里该怎么解决?我实在是想不通了
我还不清楚你这里要实现的功能是什么....
就是一个交通指示灯啊。 先绿灯亮10秒后关闭绿灯。在亮左转灯10秒后在关闭左转灯,亮红灯
加个标志位判断当前是红还是绿不就行了,或者定时设为20啊,当num等于10的时候换一个灯亮,到20再重置
我试了将时间 改为绿灯亮30秒.然后判断到15时绿灯灭左转灯亮,在判断到0时左转灯灭红灯亮。但还是行不通 我又设置了标志位。但我不知道 怎么使用标志位。好尴尬。真的才学几天 ,很多东西不是很懂
程序最好再贴全一点,没能看到num的计算部分。如果采用如30秒计时的方法,那要把亮红灯部分放在亮左转灯的判断之外,也就是以时间为基准,所有灯的控制判断都是同一层次的,不需要进行嵌套。你现在的亮红灯判断部分是嵌套在亮左转灯判断里的。
大哥能说通俗点吧。我刚学 你说的太深奥了我理解不是很清楚。我有点理解你的意思了 你的意思 是30秒的计时的话,设置到15时亮绿灯,到0时亮红灯是吧? 但具体格式是怎么样的?
谢谢了。你这么一说我倒是搞明白了,但现在又有一个新问题,就是想让他黄灯亮 比如我这样if(num<=65) 我想让这个变量到65开始就亮黄灯一直到60
可我像上面这样写的话 他就小于65黄灯一直在亮。有没有什么 办法 吗?
谢谢了。你这么一说我倒是搞明白了,但现在又有一个新问题,就是想让他黄灯亮 比如我这样if(num<=65) 我想让这个变量到65开始就亮黄灯一直到60
可我像上面这样写的话 他就小于65黄灯一直在亮。有没有什么 办法 吗?
不太明白你的问题,不过总体来讲,判断条件最好有唯一性,比如如果NUM是递减的话,那么只要NUM小于65,NUM<=65这个条件都会满足,那么对应的语句就都会被执行,所以判断条件最好有唯一性。
另一个就是做灯光转换时,该熄灭的灯都要关闭,比如绿灯转换为左转灯时,点亮左转灯前后,应该关闭绿灯。
因为我是定义80秒开始亮绿灯递减到60时关闭绿灯亮左转灯。 那么我是不是在关闭绿灯的前几秒是不是该亮黄灯?我就是想让他在65-60时关闭绿灯亮黄灯。 其实就是路上的交通灯嘛。
那可以做成多条件的,就是条件是大于60,同时小于65,if语句是可以包含多个判断条件的
我试了下。不能执行。不知道 是不是我写的格式错误了? 我是这样写的。if(65>num<60)