[求助]编程问题

5618浏览
查看: 5618|回复: 6

[求助] 编程问题

[复制链接]
编程问题图1

为什么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  NPC

发表于 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以内随便写。然后测试看效果。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail