《用于物联网的Arduino项目开发:实用案例解析》—— 1.4 Arduino编程语言参考-阿里云开发者社区

开发者社区> 华章计算机> 正文

《用于物联网的Arduino项目开发:实用案例解析》—— 1.4 Arduino编程语言参考

简介: Arduino编程语言有不少内容,本章只会给出书中各章都会用到的基础内容,见表1-1。 表1-1 语言参考 代码结构 说  明 int 整数数值,比如123 float 带小数点的数值,比如1.
+关注继续查看

本节书摘来自华章出版社《用于物联网的Arduino项目开发:实用案例解析》一 书中的第1章,第1.4节,作者[美]安德尔·杰韦德(Adeel Javed),更多章节内容可以访问云栖社区“华章计算机”公众号查看。

1.4 Arduino编程语言参考

Arduino编程语言有不少内容,本章只会给出书中各章都会用到的基础内容,见表1-1。

9b22cdac833b2ad18356577124e874522f62e63c

Arduino IDE提供了非常简洁的写代码的界面。一般来说,你的代码由三个部分组成:

  • 外部库:引入所需的全部库。库是经过了完整的开发和测试过程的代码,可以引入到你的代码中来使用。比如,你想要用以太网连接来进行互联网通信,就不需要从头写全部的代码,只要用#include导入和包含Ethernet库就可以了。
  • 常量和变量:把所有要读取和操作的数据定义为常量或变量。常量不会变,所以可以用来表示板上的引脚编号。变量会改变,所以可以用来表示读到的传感器数据。
  • 函数:这包括所有自定义的和标准的函数。函数实现特定的功能。你的代码应该放在函数里,尤其是那些将来可能会重用的代码。函数有助于避免产生代码重复现象。
    程序1-1给出了按照上面所讨论的结构构造的代码例子。

1cc8ad0fe3e2594cf62be869d599b9d1a01ed898

程序1-1中有三个函数。两个是标准的Arduino函数——setup()和loop(),一旦这些代码被上传,Arduino就会调用这两个函数。所以这两个函数必须要有,这样代码才能运行。第三个函数printMessage()是用户编写的,用来向图1-6中的串口监视器窗口输出一条消息。
setup()函数只会被调用一次。在这个函数里做初始化工作,包括用Serial.begin(9600)初始化串口监视器。顾名思义,loop()函数会在一个持续的循环中不断被调用。初始化之后的任何操作,比如读取传感器数据,都可以在这个函数里实现。loop()函数调用printMessage()函数,然后等待5000ms,接着再重复整个过程。

1.4.1 执行Arduino代码

启动你的Arduino IDE,输入程序1-1,或者从本书的网站下载这个代码并打开。单击“验证”按钮来编译和检查代码。
接下来,用USB线把Arduino接到运行Arduino IDE的那台电脑上。
一旦Arduino被连接到电脑上,就按照图1-7那样,单击“工具?开发板”,然后选择Arduino Uno(如果你在用其他板子,就选择正确的板子的型号)。这样Arduino IDE就能知道要上传哪块板子的代码了(虽然原书中的界面图是英文的,但是Arduino IDE有中文界面,所以书中都用它的中文菜单来说明以增进可读性。——译者注)。

e76336fb74c42f40de6fc63f6275c097cf3d5f39

还需要选择代码上传的端口,按照图1-8,从“工具?端口”选择将Arduino连接到电脑的USB端口。
最后,点击“上传”按钮,然后打开串口监视器窗口。确认在串口监视器右下角显示的波特率数字和Serial.begin()函数调用中设置的数字是相同的。现在在代码中的这个数字应该是9600,所以在串口监视器那里需要选择9600波特率。否则,将无法看到日志消息。

b6144fdbed6cb8a1d20d4c0bf76856a9161d1965

如图1-9所示,在串口监视器窗口中能看到每5000ms出现一条日志消息。

4a9a785e9be1e8400d8a74a2c86f59ee7b06522f

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
LinkDevelop实践----Bone Web 框架的第一个项目Hello World
物联网全栈教程-从云端到设备(九) 一 这一篇文章零妖带你学习全宇宙最简单的网页应用开发框架:Bone Web 框架,这是一个通过敲代码来制作网页的框架,非常适合不需要华丽界面的物联网项目。如果你动手操作,零妖保证三十分钟之内能做出来一个Web应用,体验空前的成就感(深入地做一个好的Web应用就需要你再继续研究了)。
4839 0
个人用户如何手动在ECS实例上部署Java web项目?
本篇文档介绍如何手动在ECS实例上部署Java web项目。适用于刚开始使用阿里云进行建站的个人用户。
1725 0
Android的init过程(二):初始化语言(init.rc)解析
Android的init过程(一) 本文使用的软件版本 Android:4.2.2 Linux内核:3.1.10     在上一篇文章中介绍了init的初始化第一阶段,也就是处理各种属性。
735 0
【汇编语言/底层开发】6、程序中包含多个segment
众所周知的是,我们所开发的应用程序需依赖于操作系统运行,因此应用程序所使用的内存空间必须是安全的,不能与操作系统和其他应用程序相重合。因此,应用程序所需要的空间应当通过操作系统申请。
761 0
SAS进阶《深入解析SAS》之开发多语言支持的SAS程序
SAS进阶《深入解析SAS》之开发多语言支持的SAS程序 1. 多语言支持的应用程序是指该程序在世界给第使用时,其能够处理的数据,以及处理数据的方式、信息展现的方式都符合当地的语言、文化习惯,这要求应用程序运行时,能够自动进行与地区、语言相关的处理,也就是通常所说的国际化。 2. SBCS、DBCS、MBCS 单字节字符集SBCS指在该字符集中的字符最多由2个字
1665 0
Java编程架构深入解析-RPC 消息协议设计
本节我们开始讲解 RPC 的消息协议设计背后的基本原理,了解 RPC 的协议开发背后有哪些需要考虑的基本点。在通晓原理之后,我们就可以自己设计一套协议来开发属于自己的 RPC 系统。
1285 0
C语言项目开发-项目架构和编程命名规范
一个项目的流程: 1、公司市场人员与客户交流,了解客户、引导客户使用公司最优资源并产出一份市场需求文档 2、公司需求人员(BA)与客户交流,了解客户需求并产出一个软件需求文档 3、项目经理、开发小组成员、需求人员(BA)一起开一个需求评审会议,对不合理的地方,    打回给BA,再由BA与客户沟通 4、程序员接到和充分了解软件需求文档后产生软件设计文档(包括概要设计文档和详细设计文档,    涉及到数据库的还需要进行数据库的设计) 5、程序员根据设计文档进行编码、调试、打包发布。
1149 0
10059
文章
0
问答
来源圈子
更多
+ 订阅
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载