编程问题

2016-06-271.3万
AI 快速预览详细 收起
本文探讨了在Arduino编程中使用delay(time/(255/5))的原因。通过这种方式,可以更精确地控制延时,提高代码的灵活性和可读性。这对于编程初学者来说是一个重要的技巧,有助于更好地理解代码逻辑。
编程问题图1

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

创作许可协议

本项目采用 None(不开放任何权利,保留所有权利) 进行许可。

评论(3)
凌风清羽
凌风清羽
默默的看大神解释啊
微笑的rockets
微笑的rockets
我的理解是这样的,供参考。
其实就是写这个语句的工程师偷懒或者说方便大家理解。
程序语言到最后写出来不仅是需要执行的也需要让后面的人能够理解。
在这里,写成255/5,我的理解就是将255分成5份后再进行时间的分割。
当然如果直接写成51也是可以的。
gada888
gada888
D10 是PWM脚,这里是用来给led调色的。它没有‘直接在括号里写一个时间’是因为那个值是变化的。time 和 increment。当value < 255,value增加。delay(time/(255/5));是value变化的时间间隔。建议你去arduino官网看一下fadeOn() 这个函数
gada888
gada888回复许培享
就是,原创把它写复杂了。搞的跟公式样的,如果写成int delaytime; 后面delay (delaytime);
就简单了。那个(time/(255/5)),或者 (delaytime);时间只是随着PWM(increment or decrement)转换led灯颜色的时间.至于时间写多少,只要是单数255以内随便写。然后测试看效果。
许培享
许培享回复华仔
表面上看把time/(255/5)写成time/51没有任何问题。但这里的5可以改为 increment, decrement,这样子,程序的通用性就好多了吧:)
共3条回复,已加载2条,点击查看更多共3条回复,已加载全部
- 没有更多了 -