Toggle navigation
科创
{{ getSearchSuggestionLabel(suggestion) }}
{{ part.text }}
查看更多
登录
 
注册
电波
论坛
专栏
应用
登录
注册
{{ getSearchSuggestionLabel(suggestion) }}
{{ part.text }}
查看更多
论坛
>
电子信息
>
电子技术
>
嵌入式
文号
t60354
阅读
3224
回复
0
收藏
1
转帖:跟珜羽一起学Arduino NO.2.1 修改点灯程序
kc2038
2013/09/05
电子技术
IP:广西
跟珜羽一起学
Arduino NO.2.1
修改点灯程序
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
上面
跟珜羽一起学
Arduino NO.2
点亮你的第一个灯
(
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
)
是一个暴力的学习过程,知其然不知其所以然,所以修改代码后,属于自己的代码才是算是学会了。
修改代码前还是先介绍下
IDE
的界面。
从上而下分别是:
红色区域是标题栏,显示的是现在代码的文件名,“
|
”跟随的是
IDE
的版本号。
黄色区域是菜单栏,这个里面的东西在具体用的时候具体说下里面的内容。
白色区域依次是编译,下载(包含编译过程),新建,打开,保存。最右边的是串口调试器,用法在以后会说到。
黑色区域是文件标签栏,新建多个程序后会在这里显示不同的文件标签。
绿色区域是代码区,编写代码就在这里面进行。
紫色区域是编译,下载状态指示。(例如编译成功,编译失败,下载中,下载成功,下载失败)
灰色区域是编译,下载进度的记录以及编译错误的提示。
最后褐色区域就是显示板子的类型以及连接的端口号。
读写
想修改代码,必须要读懂代码之前是干啥的,怎么工作的,编写的时候要遵守什么样的规则,这样改出来的代码才能用。
SO
开始读代码。
先加载例程
Blinks
。看代码。
在
C
语言中
/**/
以及
//
表示的是注释。
/ /
注释这一行
//
后面的文字
/**/
注释包括在中间的一段话
英文的注释不看也罢。去掉注释后代码就变成了:
void
setup
()
{
pinMode
(
13
,
OUTPUT
);
}
void
loop
()
{
digitalWrite
(
13
,
HIGH
);
delay
(
1000
);
digitalWrite
(
13
,
LOW
);
delay
(
1000
);
}
Arduino
的程序主要包括两个部分。
void
setup
()
{}
void
loop
()
{}
其他的代码都是在
{}
花括弧里面填充的。
Setup
里面放的是初始化程序。
Loop
实际上是循环体,会一遍又一遍的执行里面的代码直到死循环或者停电。
两个框架缺一不可。
就像吃火锅一样,先要将水装进锅里,然后打开煤气开关,点火。这些个动作就是初始化只要做一次就够了。
然后就开始添菜,熟了吃了,再添。一直循环。直到你吃饱了不想再吃了(完成了你的操作要求)或者煤气烧完了(没电了)或者有事走开(情人约会)。好吧。。。我会承认我是个吃货么?
接着语句分析:
pinMode
(
13
,
OUTPUT
);
digitalWrite
(
13
,
HIGH
);
delay
(
1000
);
digitalWrite
(
13
,
LOW
);
delay
(
1000
);
有点基础的很容易看出是三个函数(带参数的)
pinMode
(
pin
,
mode
)
//
设置指定引脚为输入或者输出模式
pin
:您要设置其模式的引脚编号(数值范围
0
~
13
),
LED
的引脚就在
13
号。
Mode
:数值类型
INPUT
或
OUTPUT
设置输入或输出模式
(关于输入输出模式在以后的章节将会详细解释,现在你只要知道要想驱动外部电路,那肯定是要用输出模式啦)
digitalWrite
(
pin
,
value
)
//
设置指定引脚输出高电平或者低电平
pin
:您要设置其模式的引脚编号(数值范围
0
~
13
),
LED
的引脚就在
13
号。
value
:
数值类型
HIGH
或
LOW
设置高电平
5V
(
3.3V
板子为输出
3.3V
)
输出活低电平输出(
0V
)
以上两个函数的
pin
值可以用变量传递。(先别问什么是变量。到了自然会讲)
delay
(
ms
)
//
延时指定毫秒数
ms
:数值表示范围
0
~
4294967295
,表示延时多少
ms
(
1s
=
1000ms 1
秒
=
1000
毫秒)
那么,如果我想加快延时,
1
秒闪烁一次要怎么改?
对,就是将
delay
(
1000
)
改成
delay
(
500
)
点下载。。。。。。
好了,
你可以看到灯闪烁的频率加快了。。。
到你们了。。。
修改你们的板子为亮
250ms
,灭
750ms
。~展现你们技术的时候到了。。。
思考题:
如何亮
10ms
灭
990ms
亮
20ms
灭
980ms ~~
亮
980ms
灭
20ms
亮
990ms
灭
10ms
?
提示:
1
、
记得保存你们修改后的代码。养成备份的好习惯。
1.0
保存的文件类型是
*.ino
哦,看到这个就要知道是
arduino
的程序了。
在以前的版本
*.pde
格式。
2
、
avrdude: stk500_getsync(): not in sync: resp=0x00
大家碰到这个错误可以试着按下板子上
USB
旁边红色的按键
来自:
电子信息
/
电子技术
/
嵌入式
0
0
全部
只看作者
全部
只看作者
在列表中查看
笔记
{{note.content}}
{{n.user.username}}
{{fromNow(n.toc)}} {{n.status === noteStatus.disabled ? "已屏蔽" : ""}} {{n.status === noteStatus.unknown ? "正在审核" : ""}} {{n.status === noteStatus.deleted ? '已删除' : ''}}
编辑
删除
{{n.status === 'disabled' ? "解除屏蔽" : "屏蔽" }}
保存
取消
我也是有底线的
保存中...
保存