华仔 发表于 2016-6-27 21:53:52

编程问题



为什么delay(time/(255/5));而不是直接在括号里写一个时间呢?这里的time/(255/5)有啥不一样吗?

gada888 发表于 2016-6-29 14:33:28

D10 是PWM脚,这里是用来给led调色的。它没有‘直接在括号里写一个时间’是因为那个值是变化的。time 和 increment。当value < 255,value增加。delay(time/(255/5));是value变化的时间间隔。建议你去arduino官网看一下fadeOn() 这个函数

华仔 发表于 2016-6-29 17:33:24

gada888 发表于 2016-6-29 14:33
D10 是PWM脚,这里是用来给led调色的。它没有‘直接在括号里写一个时间’是因为那个值是变化的。time 和 in ...

fadeOn() 这个函数找不到,都是英语看不懂了。time/(255/5)中time是变化的,但是(255/5)是定值啊,我写成time/51行吗

安卓机器人 发表于 2016-6-29 19:18:53

华仔 发表于 2016-6-29 17:33
fadeOn() 这个函数找不到,都是英语看不懂了。time/(255/5)中time是变化的,但是(255/5)是定值啊,我写成 ...

表面上看把time/(255/5)写成time/51没有任何问题。但这里的5可以改为 increment, decrement,这样子,程序的通用性就好多了吧:)

Rockets 发表于 2016-6-30 11:00:25

我的理解是这样的,供参考。
其实就是写这个语句的工程师偷懒或者说方便大家理解。
程序语言到最后写出来不仅是需要执行的也需要让后面的人能够理解。
在这里,写成255/5,我的理解就是将255分成5份后再进行时间的分割。
当然如果直接写成51也是可以的。

凌风清羽 发表于 2016-6-30 20:41:58

默默的看大神解释啊

gada888 发表于 2016-7-1 10:57:31

本帖最后由 gada888 于 2016-7-1 11:07 编辑

安卓机器人 发表于 2016-6-29 19:18
表面上看把time/(255/5)写成time/51没有任何问题。但这里的5可以改为 increment, decrement,这样子,程 ...
就是,原创把它写复杂了。搞的跟公式样的,如果写成int delaytime; 后面delay (delaytime);
就简单了。那个(time/(255/5)),或者 (delaytime);时间只是随着PWM(increment or decrement)转换led灯颜色的时间.至于时间写多少,只要是单数255以内随便写。然后测试看效果。
页: [1]
查看完整版本: 编程问题