极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 13325|回复: 5

新人求助求助

[复制链接]
发表于 2015-6-13 15:41:14 | 显示全部楼层 |阅读模式
本帖最后由 jishin 于 2015-6-18 11:49 编辑

新人求助,刚接触ARDUION感觉很难懂没学过C语言
int _ABVAR_1_001;

void setup()
{
_ABVAR_1_001 = 0;
}

void loop()
{
while ( ( ( _ABVAR_1_001 ) < ( 255 ) ) ) //当_ABVAR_1_001 小余255    假设当前为_ABVAR_1_001为零 (0小余255)
{
_ABVAR_1_001 = ( _ABVAR_1_001 + 1 ) ;//_ABVAR_1_001 = ( _ABVAR_1_001 + 1 ) (0+1)
analogWrite(11, 255 - (_ABVAR_1_001 ));// (255-1)这里看不懂为啥是255-_ABVAR_1_001 这样不是越减越少了吗怎么会越来越亮
delay( 5 );
}

while ( ( ( _ABVAR_1_001 ) > ( 0 ) ) )
{
_ABVAR_1_001 = ( _ABVAR_1_001 - 1 ) ;
analogWrite(11, 255 - (_ABVAR_1_001 ));
delay( 5 );
}

delay( 200 );
}

回复

使用道具 举报

发表于 2015-6-13 21:39:06 | 显示全部楼层
只是寫得有累贅, 第一個 loop 乾脆直接由 254 降到 0, 第二個由 1 升上 255 就可以, _ABVAR_1_001 應該在 loop 內設定, 而且 括號也太多了.
但執行上應該沒問題.
回复 支持 反对

使用道具 举报

发表于 2015-6-13 22:12:04 | 显示全部楼层
我也是新手,看到那么多的括号我都晕了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-6-14 11:15:11 | 显示全部楼层
Super169 发表于 2015-6-13 21:39
只是寫得有累贅, 第一個 loop 乾脆直接由 254 降到 0, 第二個由 1 升上 255 就可以, _ABVAR_1_001 應該在 l ...

这个是用ARDUBLOCK转过来的,我搞不懂那一段函数代表什么意思
回复 支持 反对

使用道具 举报

发表于 2015-6-14 11:28:20 | 显示全部楼层
jishin 发表于 2015-6-14 11:15
这个是用ARDUBLOCK转过来的,我搞不懂那一段函数代表什么意思


只是因為它寫得太 累贅, 要花時間去想想, 太多括號也使人混亂.

簡單而言, 就是每向 D11 發出 254 至 0, 然後 1 至 255, 每次發完停 5ms, 全部都發完就 200ms, 一直循環.
你試試把它從寫一次吧.
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-6-15 13:33:00 | 显示全部楼层
原来是这个原因,这样就能解释数值越来越小但是灯越来越亮

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

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

本版积分规则

Archiver|联系我们|极客工坊

GMT+8, 2026-6-8 21:12 , Processed in 0.037910 second(s), 21 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表