第四章 使用和编写库类

作用:提高代码的编写效率和可读性
用法:
1)将类库放入libraries中,编写程序时调用
2)申明调用类库 #include"xxx.h"
3)实例化对象

编写库类

1)编写头文件(.h文件)
2)预处理命令
以“#”开头的语句成为预处理命令,编译器不会直接对这些进行编译,而是在编译之前,系统会预先处理这些命令。
3)宏定义
使用一个特定的标识符来代表一个字符串,如#define aaa 123;
4)文件包含
若程序中使用#include “a.h”,那么在预处理的过程中会先将该语句替换成此文件中的实际内容,再进行编译。
5)条件编译
#ifndef a.h
#define a.h
用来防止重复的包含某文件,避免程序编译出错
6)版本兼容
可以是编译器自动判断正在使用的IDE版本,从而调用正确的头文件。
7)编写.cpp文件
.cpp文件也必须包含用到的头文件
.ino文件所在的文件夹需要与该.ino文件同名

第五章 通信篇


并行通讯可以多位数据同时传输,速度更快,但其占用的I/O口比较多。
串行通讯在Arduino中使用最广泛。
Arduino硬件集成了串口、IIC、SPI三种常见的通讯方式。

硬件串口通讯——HardwareSerial类库

串口,称UART,通用异步接口,通常一个串口只能连接一台设备进行通讯。
串口工作原理:Arduino会发送一连串的数字信号即数据帧。
数据帧格式:
1)起始位:起始位总是为低电平,是一组数据帧开始传输的信号
2)数据位:Arduino默认使用8位数据位,每次可以传输1B数据
3)校验位:是串口通讯的一种简单检错方式,Arduino默认无数据位
4)停止位:每段数据帧的最后都有停止位表示该段数据传输结束,Arduino默认为1位停止位

HardwareSerial类库位于Arduino的核心库中,Arduino默认包含该库,因此不用再使用include进行调用。

当使用read()函数时,每次仅能读到一字节的数据,如果要读取一个字符串,则可以使用“+=”运算将字符一次添加到字符串中。

延时语句delay(),arduino程序的运行速度很快,当arduino读取完第一个字符串,进入下一次while循环时,输入的数据还没有完全的传入arduino的串口缓冲区,串口还未接受到下一个字符available()的返还值就为零,就会产生错误。

串口缓冲区

缓冲区实际上就是在arduino上的RAM上开辟临时存储空间,其大小不能超过arduino本身的RAM大小。
arduino默认设定串口缓冲区为64字节,当其中数据超过64字节后,arduino就会将最早存入缓冲区的数据丢弃。
通过宏定义的方式可以增大串口读写缓冲区的空间,如#define SERIAL_TX_BUFFER_SIZE 128。

软件模拟串口通讯——SoftwareSerial类库

使用SoftwareSerial类库将其他数字引脚通过程序来模拟成串口通讯引脚。
局限性:不如硬件串口稳定,与硬件串口一样波特率越高越不稳定。
原理:是通过VAR芯片的PCINT中断功能来实现的,需要引脚支持此功能才可以设置为软串口。

IIC总线

使用两根双向的总线又称为TWI总线

SPI总线

是arduino自带的一种高速通讯接口,通过它可以连接使用同样接口的外接设备。

第六章 存储篇

EEPROM类库

1、EEPROM电可擦可编程只读存储器是一种断电后数据不丢失的存储设备,常被用来记录设备的工作数据和保存配置参数。
2、arduino已经准备好eeprom库类,使用前需要调用eeprom头文件。
3、eeprom只有100000次擦写寿命,一次EEPROM.write()语句会占用3ms,所以在loop中使用EEPROM.write()时,应使用延时或其他方法,以避免频繁擦写EEPROM。
4、arduino的EEPROM API智能将字节数据存入EEPROM中,其他数据需要用到共用体的方法进行存储。

SD卡类库

是一种基于半导体快闪记忆器的新一代存储设备,可以用来保存大量数据。

第七章 无线通讯篇

arduino可以使用的无线通讯方式众多,如ZigBee、Wifi和蓝牙等
1、常见的两种方式:
1)使用串口透传模块
这类模块在设置好后连接arduino串口,即可采用串口通讯的方式进行通讯,相当于将串口的有线通讯改为无线通讯,而程序不需要改动。
2)使用SPI接口的无线模块
此类模块通常有配套的驱动库,如arduino WiFi库展板,这种方式传输速率快。

Arduino基础2相关推荐

  1. arduino: 各种Arduino基础器件的用法图

    arduino: 各种Arduino基础器件的用法图 2013-06-17 13:29:40 分类: LINUX NE555的各种用法 开关.光耦.光敏电阻等的用法 各种LED的用法 蜂鸣器.继电器. ...

  2. Arduino基础入门套件教程PDF

    Arduino基础入门套件教程PDF: 上期分享了<Arduino+Android互动智作:初入物联网>高清书签中文版,这期分享<Arduino基础入门套件教程PDF>都是在闯 ...

  3. Arduino基础入门之十三 温湿度传感器DHT11

    一 硬件 DHT11这款温湿度传感器,精度湿度±5%RH, 温度±2℃,如下图所示[1] 4个引脚接线一目了然,2号data用于传感器与微控制器之间的通信,接UNO的某数字引脚,3号NC空置即可.目前 ...

  4. Arduino基础(三)——基础实验

    目录: 1,语言基础:Arduino基础(一)--语言基础_SumubeiFZ的博客-CSDN博客 2,串口通讯:Arduino基础(二)--串口通讯_SumubeiFZ的博客-CSDN博客 3,基础 ...

  5. 《Arduino与LabVIEW开发实战》第1章 Arduino基础

    第1章 Arduino基础 1.1 Arduino是什么 Arduino是什么? 根据维基百科,Arduino的定义如下:一种开源的单片机控制器,它使用Atmel AVR单片机,采用基于开放源代码的软 ...

  6. Arduino基础与常用函数

    文章目录 1. Arduino语言 2. Arduino代码结构 1.类似于C的头文件包含,变量定义等 2.void setup() 3.void loop() 3.串口常用函数 1.串口收发函数 S ...

  7. Arduino基础入门篇01—进入Arduino的世界

    欢迎来到Arduino的世界,本文主要介绍Arduino的优势,开发所涉及的硬件分类,开发语言及开发环境的下载.可登陆Arduino官网学习了解更多Arduino信息. 什么是Arduino Ardu ...

  8. Arduino基础入门篇02—Arduino开发环境IDE安装使用

    工欲善其事,必先利其器.本文主要介绍Arduino开发环境IDE的安装及功能介绍. Arduino IDE安装 从官网下载IDE开发环境,IDE下载地址 .笔者使用Win10系统,点击 Windows ...

  9. Arduino基础语法

    前言:只要有点C语言基础,学Arduino语法就不难,只是有点常量和数据类型以及函数跟C语言不大一样,下面,我将向大家介绍一下Arduino的基础语法.我用的是Arduino UNO的板子,Ardui ...

  10. Arduino基础篇(七)-- 如何使用DS18B20数字温度传感器(基于OneWire和DallasTemperature库)

    温度传感器是指能感受温度并转换成可用输出信号的传感器.按测量方式分为接触式和非接触式,按照传感器材料及电子元件分为热电阻和热电偶两类,按照工作原理分为模拟式和数字式.本篇主要介绍数字温度传感器 DS1 ...

最新文章

  1. 强化学习(四) - 蒙特卡洛方法(Monte Carlo Methods)及实例
  2. 到底为什么你我都要了解社会工程学
  3. 软件测试技术学什么条件,软件测试从业者需要具备哪些技能
  4. 用Alpha生成Trimp图的方法(python)
  5. 基于stm32f405控制三相无刷电机例程_ST SSC 频道 | 基于ST STM32F302R8T6 电机空气压缩机方案...
  6. 开发中关于Fragment异常的两个问题
  7. SAP Spartacus运行时错误 - The pipe cxUrl could not be found!
  8. 在Virtualbox下为Ubuntu16.04开机自动挂载共享目录的最佳方法
  9. [bzoj1059] [ZJOI2007]矩阵游戏
  10. BZOJ 1208: [HNOI2004]宠物收养所
  11. Wpf之MVVM线程问题
  12. We FALL ASleep At Night, We Do REST Right
  13. android7.1.2安装包,APK.1文件安装器下载-APK.1安装:微信APK安装器下载1.7 安卓版-西西软件下载...
  14. php 机器人的运动范围,ABB机器人高级技巧,区域监控,多任务,限定单轴运动范围,奇异点的管理...
  15. MIPI -- mipi_CSI-2_specification_v2-1-er01.pdf
  16. 一个虎扑社区数据分析实战
  17. 电路原理计算机解法,电路原理学习指导与习题全解
  18. html5类选择器用什么表示,HTML_揭秘常用的五类CSS选择器用法,有许多新手朋友不知道在什么 - phpStudy...
  19. 60个英文阅读网站推荐
  20. 消息队列技术的介绍和原理(MQ)

热门文章

  1. 记录一次修复知网学位论文目录下载油猴脚本的过程
  2. 为什么选择语音验证码?
  3. 广东医科大学计算机网络,广东海洋大学计算机网络历年考题(直接阅读版6套可编辑)课件.doc...
  4. 《德鲁克管理思想精要》读书笔记2 - 企业的宗旨、目标
  5. 13.爬虫训练场集成文件采集案例,来学习一下怎么实现的
  6. composer php中如何执行,composer怎么运行
  7. MVP衣明志——15年技术生涯
  8. IDA反汇编/反编译静态分析iOS模拟器程序(六)交叉引用
  9. 对数几率回归(逻辑回归)
  10. 吵翻了!导师确认录取后却被学生放了鸽子,生气之余导师建了个“失信名单”挂到网上