本节书摘来自华章计算机《Arduino开发实战指南:LabVIEW卷》一书中的第2章,第2.1节,作者:余崇梓著, 更多章节内容可以访问云栖社区“华章计算机”公众号查看。
2.1 Arduino IDE
2.1.1 Arduino IDE界面
双击Arduino应用软件的执行文件arduino.exe,打开Arduino开发环境。
Arduino开发环境包含一个用于写代码的文本编辑器,一个消息显示区域,一个文本控制台,以及一个有常用功能按钮的工具栏和一系列菜单。它与Arduino硬件连接,可以进行程序下载以及通信。Arduino IDE界面如图2-1
所示。
使用Arduino编写的软件称为sketch。这些sketch在文本编辑器里编写。sketch以后缀名为.ino的文件保存。它具有剪切、粘贴和搜索/替换文本的特性。当进行保存或导出操作的时候,消息区可以给出反馈信息,同时消息区还可以显示错误信息。控制台显示Arduino平台错误及其他文本信息。软件右下角显示当前使用的硬件板型及串行端口号。工具栏按钮允许使用者进行程序验证和下载,并能创建、打开和实时保存sketch,并能打开串口监听器。
2.1.2 Arduino IDE工具栏
Arduino IDE工具栏如图2-2所示。下面对这些工具逐一进行介绍。
Verify
?检查代码错误。
Upload
?编译代码并下载至Arduino I/O板。
注意,如果正在使用一个外部编程器,可以按住计算机上的Shift键,在使用这个图标的时候,图标文本将变为Upload using Programmer。
New
?新建sketch。
Open
?打开已有的sketch。
Save
?保存sketch。
Serial Monitor
?打开串口监听器。
2.1.3 Arduino IDE菜单栏
除了工具栏以外,还有其他更多命令可以在File、Edit、Sketch、Tools、Help五个菜单中找到。Arduino IDE菜单栏如图2-3所示。
1.File菜单
像其他很多软件的File(文件)菜单一样,Arduino IDE的File菜单也包括了基本的New、Open、Save、Save As、Print等选项。另外,在File菜单中也可以打开很多示例,也可以在File菜单中进行程序下载,如图2-4所示。
在File菜单下,选择Preferences,可以进行参数设置,包括:程序库位置、语言、编辑器字体大小、输出时显示详细信息、使用外部编辑器等,如图2-5所示。
2.Edit菜单
Edit(编辑)菜单提供了基本的剪切、复制、程序注释、取消注释、查找等功能,如
图2-6所示。
下面主要介绍Arduino IDE Edit菜单两个特别的功能。
Copy for Forum
将sketch代码以合适的方式复制到剪贴板,以便于发布到论坛。
Copy as HTML
将sketch代码以HTML形式复制到剪贴板,适合嵌入Web页面中。
3.Sketch菜单
Sketch菜单如图2-7所示,主要有Verify/Compile、Show Sketch Folder、Add File及Import Library选项。
Verify/Compile
检查代码错误。
Show Sketch Folder
打开当前的Sketch文件夹。
Add File
添加源文件到sketch(将从目前的位置复制它)。被添加文件出现在新选项卡的sketch窗口中。可以使用tab菜单将文件删除。
Import Library
导入库,可以在sketch中添加#include语句。
在sketch中,库提供了一些额外的功能。例如,和硬件协同工作或数据处理。在sketch中使用库的时候,选择Sketch→Import Library,将会在你的sketch中插入#include语句,在编译sketch的时候也会编译这个库。因为库和sketch一起被下载到硬件板上,所以会占用更多资源。如果一个库不再需要了,可以在sketch中简单地删除相应的#include语句。
4.Tools菜单
Tools(工具)菜单包括了在Arduino IDE中可用的一些工具,如图2-8所示。
Auto Format
自动格式化。
Archive Sketch
以.zip格式备份当前的sketch,zip文件和sketch在同一个文件夹中。
Board
选择所使用的板型。
Serial Port
这个菜单包含了计算机上的所有串行设备(真实或虚拟的),每次打开这个菜单的时候它都将进行自动刷新。
Programmer
当对板子或芯片编程的时候,选择一个硬件编程器,不用板载的USB串口连接。一般情况下不会用到这个菜单,当要对一个新的单片机烧写bootloader的时候才会用到。
Burn Bootloader
当要给Arduino板上一个新单片机烧写bootloader的时候需要用到这个菜单。正常情况下不需要用到这个菜单,当使用一个新的ATmega单片机(没有自带bootloader)的时候才需要用到这个菜单,在烧写bootloader之前要确保在Board菜单里面选择了正确的硬件板型。
Uploading
在进行upload之前,需要在Tools→Board和Tools→Serial Port两个菜单里选择正确的选项。
一旦在菜单里选择了正确的板型和串口,单击工具栏中的Upload菜单或者在File菜单中选择Upload,当前的Arduino板将会自动复位并开始下载。在大部分的板子上,当下载sketch的时候,会看到RX和TX的LED会闪烁,当下载完成后,Arduino软件环境会显示完成(或出错)的消息。
当下载sketch的时候,使用的是Arduino的bootloader——已经被加载到单片机中的一小段程序。它允许使用者脱离外部硬件就能够下载代码。当板子复位的时候,bootloader会运行几秒钟,然后它将运行最新加载到单片机的sketch程序。当bootloader开始运行的时候,板载的LED(数字引脚13)会闪烁。
Arduino Uno可以通过Arduino软件进行编程,在IDE中选择Tools→Board(根据板子上的单片机类型选择)。
Arduino Uno上的ATmega328已经预先烧写了一个bootloader,允许使用者下载新的代码而不需要使用外部硬件编程器。它使用STK500协议通信。可以不使用预先烧写的bootloader,而通过ICSP(In-Circuit Serial Programming)接口进行编程。
ATmega16U2(或Arduino Uno Rev1、Rev2板上的ATmega8U2)固件代码是开源的。ATmega16U2/8U2含有DFU引导装载程序,它可以通过下面的方式使能:
在Rev1板上:连接板背面的焊接跳线,然后重启ATmega8U2。
在Rev2或更新的板上:有一个电阻,把ATmega8U2/ATmega16U2的HWB先拉到地,使它更容易进入DFU模式。
然后可以使用Atmel的FLIP软件或者DFU编程器加载一个新的固件。或者可以通过ISP接口使用外部编程器编程。
Serial Monitor
显示从Arduino板(USB 或串口板)发回来的串行数据。如果要发送数据给板子,选择和sketch中匹配的波特率,输入文本并单击Send按钮。
5.Help菜单
在Help(帮助)菜单中可以查看Arduino IDE的版本号,并可以通过Help菜单中的链接查找在线帮助资料及文档,如图2-9所示。