手把手教你智能硬件开发(二) 从HelloWorld开始
2016-09-06 09:44
387 查看
第2节 Hello World
万事开头难,这一节我们将写一个最简单的程序,让它在Arduino MEGA开发板上运行起来。为此,我们需要准备,
Arduino MEGA开发板;
一台开发用的电脑,Window、Linux、MacOS操作系统都可以;
一根连接Arduino MEGA开发板和电脑的USB数据线;
注意,这根USB连接线的一端是方头的,它将和Arduino开发板提供的USB接口相连。这种方头的USB数据线接口叫做USB type-B,常用在打印机的接口上;而我们最常使用的那种USB数据线接口叫做USB type-A。
2.1 搭建开发环境
在官网下载相应操作系统的Arduino集成开发环境(简称Arduino IDE)。有了这个IDE工具,就能方便的编辑、编译代码,并把编译的结果通过USB连接线,部署到Arduino开发板上。IDE下载完成后,就像任何普通程序一样,直接安装就行了。
双击
Arduino的图标,IDE程序就运行起来了,
2.2 新建工程
启动Arduino IDE,点击菜单栏的文件->新建(或者使用快捷键
Ctrl+N),生成新的工程文件,
点击菜单栏的
文件->保存(或者使用快捷键
Ctrl+S),保存生成的工程文件。
文件名填写
HelloWorld。保存后,Arduino IDE会自动生成一个名称叫
HelloWorld的文件夹,并在这个文件夹下生成一个同名的
HelloWorld.ino文件。
.ino文件是Arduino工程的主文件,Arduino IDE要求工程项目的主文件必须置于同名文件夹之内。
2.3 Hello World
接下来,我们来实现一个简单的功能:Arduino开发板通过串口,不断的向电脑端输出Hello World;同时,我们通过串口工具,看到Arduino开发板的输出信息。
2.3.1 原理介绍
Arduino开发板都会提供一个串口(如果你不知道什么是串口的话,可以把它想象成一条连接着开发板和其他外围设备的管道)供电脑调试Arduino开发板上运行的程序使用。Arduino程序通过
Serial.print()这样的函数就能把数据从开发板写入到串口中,如果电脑端有对应的接收程序,那么就能看到写入的数据。
Arduino IDE通过串口和PC(或其他设备)通讯。
在Arduino IDE中
Serial对象就是串口的化身。
注意,Serial是系统的类对象实例,而不是类,所以直接使用
Serial.print()这种方法。
详细内容可以参看官网的描述。
UNO的串口硬件位置
USB接口和0、1引脚都对应串口-Serial
MEGA的串口硬件位置
MEGA有多个串口,
USB接口和0、1引脚对应串口-
Serial
18、19引脚对应串口1-
Serial1
16、17引脚对应串口2-
Serial2
14、15引脚对应串口3-
Serial3
2.3.2 代码设计
新生成的HelloWorld.ino文件中,自动生成了
setup()和
loop()两个函数。
void setup() { // put your setup code here, to run once: } void loop() { // put your main code here, to run repeatedly: }
开发板的程序启动时,首先会调用
setup(),进行初始化工作;
然后会循环的调用
loop()函数,让开发板不停的运转起来。
程序的整个逻辑就像下面的c语言代码,
void setup(void); void loop(void); int main(void) { setup(); while(1) { loop(); } return 0; }
这里面的main和while代码去哪了呢?它们被Arduino的开发环境隐藏了起来,只是将
setup()和
loop()开放给了开发者。
开发者只需要实现这两个函数就行了。这样设计的目的是让程序的结构更清晰。从这里可以看出,
setup()只执行一次,用来完成初始化的功能;
loop()不断的被循环执行,是实现开发板逻辑控制的地方;
在本例中,
setup()函数里只需要设置串口波特率。
波特率指的是数据发送的速度,只有接收方和发送方都在同一个波特率上,才能正确的接收数据。这就好比调频的电台和收音机,两者的频率必须一致才能接收到声音。
void setup() { // put your setup code here, to run once: Serial.begin(9600); }
在
loop()中,用串口输出”Hello world!”,每循环一次,就会输出一次这个字符串,
void loop() { // put your main code here, to run repeatedly: Serial.println("Hello world!"); }
2.3.3 程序部署
程序写好以后,需要将电脑上编译好的程序,部署到开发板上,让程序运行起来,用USB数据线,将开发板和电脑连接起来;现在的新版操作系统(Window10, MacOS X等等),不需要安装驱动,就能识别Arduino开发板;
选择菜单栏的
工具->开发板,选择正在使用的开发板
Arduino MEGA or MEGA 2560;
选择菜单栏的
工具->端口,选择正在使用的设备端口(如果设备被操作系统成功识别,会在此处显示出来);
点击工具栏上的
部署按钮,程序就会被编译,并部署到设备上运行了;
2.3.4 数据观察
点右上角的按钮打开串口监视器(或者使用快捷键Ctrl+Shift+m)
右下角的波特率必须和
setup()中设置的数值相同,本例是9600.
可以看到不断输出“Hello world!”
至此,一个简单的Arduino程序,就在设备上运行起来了。
/[b]*******************************************************************[/b]/
本系列课程使用到的Arduino开发板、扩展板以及其他相关的传感器,各位可以根据我们文章中介绍的硬件在淘宝网选购。
您也可以在我们的网店跟我学Arduino编程中购买,这些相关硬件都由我们为您把关购买,为大家节省选择的精力与时间。同时也感谢大家对我们这些码农的支持。
最后再次感谢各位读者对
安豆的支持,谢谢:)
/[b]*******************************************************************[/b]/
相关文章推荐
- Palm应用开发之二从Helloworld开始学习Palm开发
- iPhone开发【一】从HelloWorld开始
- Symbian OS on E65应用开发手记(2)——一切从HelloWorld开始
- PHP扩展开发-02-一切都是从HelloWorld开始的
- 手把手教你智能硬件开发(四) 蓝牙传输
- 手把手教你智能硬件开发(三) 控制LED灯
- WebSphere下从helloWorld开始开发EJB
- 2、从HelloWorld开始C#开发
- iPhone开发【一】从HelloWorld开始
- 手把手教你智能硬件开发(一) 我选Arduino
- 手把手教你智能硬件开发(六)直流马达
- Android开发,从“HelloWorld”开始
- cocos2dx游戏开发学习笔记2-从helloworld开始
- (二)Shiro开发从HelloWorld开始
- Palm应用开发之二从Helloworld开始学习Palm开发
- 游戏开发学习-Cocos2d-x学习(一) HelloWorld 开始
- 从HelloWorld开始C#开发
- 手把手教你智能硬件开发(五) 开关按钮
- 今天开始学习用vs.net开发smartphone软件
- 开始学着开发IDE