- 1、本文档共20页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
2.3 第一次上手Arduino
在下载安装好IDE之后,下一步就可以实践了。通过编写和上传第一个程序,正式进入Arduino的世界。在本节中,需要做的不仅是实现编写和上传程序,更要考虑这些事情背后是如何实现的,通过学习和总结Arduino编程的技巧,快速上手Arduino。
2.3.1 加载第一个程序
在学习一些语言时,比如C语言,经典的入门程序就是鼎鼎有名的Hello World!简短的两个单词敲开了C语言的大门,让学习C语言者感觉非常简单而有趣,同时这个简单的程序延伸了很多深刻的话题,比如主函数、输入输出、编译过程等等。程序2-1便是C语言著名的敲门砖。
程序2-1:C语言的向世界问好
#include stdio.h
main()
{
printf(“hello world\n”);
}
Arduino语言也像C语言一样,同样追随C语言的脚步,在硬件的世界里,使用灯光的闪烁代表hello world,下面我们编写第一个Sketch!
打开Arduino IDE后,需要新建一个空的Sketch。之后就可以在编辑器上编写第一个Sketch,如程序2-2所示。
程序2-2:Arduino向世界问好
void setup()
{
pinMode(13,OUTPUT); //将13引脚设置为输出引脚
}
void loop()
{
digitalWrite(13,HIGH); //13引脚输出高电平,即将小灯点亮
delay(1000);
digitalWrite(13,LOW); //13引脚输出低电平,即将小灯熄灭
delay(1000);
}
这个例子是Arduino示例Basics中的Blink程序,也可以通过图2-19所示的操作打开该程序。Blink作为Arduino入门的初始程序非常简洁易懂,在每句话的后面作者都给出了注释,官方示例中的程序如图2-20所示。
图2-19 Blink所在位置
图2-20 Blink程序
编写或者打开Blink之后,便可以连接Arduino开发板,将开发板的USB接口连接到电脑上,当系统提示安装成功,并且开发板的绿色“ON”指示灯亮起时,就可以进行Blink的上传。单击“上传”按钮,再经过短暂的几秒烧写之后,会发现开发板的串口指示灯闪烁了数次,提示成功之后,开发板装载的LED灯便开始不停闪烁。
之后再来看状态区域,状态区域显示“下载成功”和“二进制程序大小1018字节”的字样。我们第一个Arduino程序就下载并成功运行了。
2.3.2 用Arduino IDE开发程序流程
当程序编写好之后,关闭前需要将文件保存到一个目录中。如果是开??一个项目,编写的Sketch可能不止一个,负责不同部分和模块开发的人员都各自编写好Sketch,最后综合Sketeh时发现程序特别难以阅读,并且很多变量名称不一致,修改起来非常麻烦,这就需要一个规范的开发流程。
在软件工程中,软件项目开发有很多不同的模型适用于不同的开发需求,例如瀑布模型、螺旋模型等。由于嵌入式项目bug排查起来比较费力,为了开发一个稳定的嵌入式系统,往往采用“增量”式模型,即在功能最简单、最基本的系统基础上逐渐扩展其功能。
因此,在编写程序之前,必须对程序所实现的功能有一个详细的规划,对整个系统的基本功能需求有一个清晰的定义。在编写程序时应当约定好各种变量、函数名称,并做好注释和文档记录。不同的模块在开发过程中需要不断的测试,也要做好详细的开发和测试记录。
编写程序时也是同样道理,增量式模型要求迅速将系统整体的基本功能实现出来,对于不同的功能可以利用不同的函数进行实现和测试,而不必在主程序中直接定义和实现,这样既快捷又清晰易读。
2.3.3 函数库和程序架构介绍
Arduino程序的架构大体可分为3个部分。
(1)声明变量及接口的名称。
(2)setup()。在Arduino程序运行时首先要调用setup()函数,用于初始化变量、设置针脚的输出/输入类型、配置串口、引入类库文件等等。每次 Arduino 上电或重启后,setup()函数只运行一次。
(3)loop()。在setup()函数中初始化和定义变量,然后执行loop()函数。顾名思义,该函数在程序运行过程中不断地循环,根据反馈,相应地改变执行情况。通过该函数动态控制Arduino主控板。
程序2-3中包含了完整的Arduino基本程序框架。
程序2-3:闪灯程序
int LEDPin = 3;
void setup()
{
pinMode(LEDPin, OUTPUT); //将3引脚设置为输出引脚
}
void loop()
{
digitalWrite(LEDPin, HIGH); //3引脚输出高电
文档评论(0)