每一章节涉及Arduino编程的特定主题。除了介绍、回顾Arduino基础知识的第1章外,剩余的章节完全按照你的喜好来进行阅读。
如果你是一个在其它领域有经验的开发者,估计你会喜欢先阅读第14章,然后把Arduino编程放到特定的语义场景中。接下来对每一章进行介绍。
1.第1章“Arduino编程”包含了Arduino程序设计的归纳与总结。对于需要快速掌握Arduino基础知识的人来说,这是入门章节。
2. 在第二章“内部机理”中,我们窥视了Arduino的软件是如何工作的?它来自哪里?
3.第3章“中断和定时器”。 新手常常避开使用中断,其实他们完全不用这样,因为有时采用中断是很方便的,同时所涉及的相关代码也不复杂。虽然中断也有一些缺陷,本章将告诉你自己需要知道什么。
4. 第4章“让Arduino更快”。 Arduino的处理器速度慢、功耗低。所以有时你需要尽可能挖掘它们的潜力。例如,内嵌digitalWrite函数是安全和简单易用的,但其效率低,特别是同时对多个输出进行设置时。在这章里,你将寻求提高性能的方法,同时学习其它技术来编写时效性强的sketche。
5. 第5章“低功耗的Arduino”。当你用电池或太阳电池给Arduino供电时,你需要考虑把功耗降到很低。此外为了优化硬件设计,你也可以通过编写代码来降低Arduino的功耗。
6.第6章“内存”。在本章中,在sketche中,我们探寻尽量小的内存的使用及其优势,以及动态使用内存所带来的风险。
7.第7章“I2C总线的使用”。 Arduino的I2C接口能很容易地实现与模块和器件间的通信,减少所需引脚的数量。这一章阐述了I2C工作原理及其使用方法。
8.第8章“1-Wire器件接口”。本章着眼于1-wire总线器件,例如Dallas家族中非常流行、用于Arduino的温度传感器。你能学习1-wire总线工作原理和使用方法。
9.第9章“SPI器件接口”。 Arduino的另一个接口标准是SPI。本章探索它的工作原理和使用方法。
10. 第10章“UART串行编程”。通过USB或Arduino的Rx和Tx引脚,在外设和其它Arduino之间,串行通信提供了非常重要的数据交换通道。在本章中你可以学习到串行通信的工作原理及其使用方法。
11. 第11章“USB编程”。本章介绍了具有USB接口的Arduino使用的各个方面。你将学习由Arduino Leonardo提供的键盘和鼠标模拟功能。以及允许USB键盘或鼠标连接到内嵌Arduino设备的逆向过程。
12.第12章“网络编程”。 Arduino在物联网中是一个常见的器件。在本章中,你将学习Arduino的互联网编程方法。其主题涉及Wi-Fi和以太网扩展板、web服务的使用以及把Arduino作为迷你web服务器。
13. 第13章“数字信号处理”。Arduino具有初步的信号处理能力。本章讨论了各种技巧,从对来自模拟输入端的信号进行滤波,使用的是软件技术而不是额外的电子部件,到采用傅里叶变换技术,计算一个信号中各种频率的相对大小。
14. 第14章“管理一个进程”。有大型系统编程背景的程序员接触到Arduino时,往往意味着在Arduino中缺乏多线程和并发机制,由于一些缺陷。在这章中,我试着修正和展示如何采用嵌入式系统的单线程模型。
15. 第15章“编写程序库”。 总有一天,考虑到别人能够使用,你将把事情做得确实很好。这是把代码打包生成库函数并将其向全世界发布的时代。本章介绍了它的实现方法。