写在前面,首先是发现有网友对Arduino作了介绍,并且介绍比较清晰到位,就引用过来了。 文章出处:https://blog.csdn.net/TonyIOT/article/details/80912008编程
提纲:网络
Arduino 是一款便捷灵活、方便上手的开源电子原型平台,包含硬件(各类型号的arduino板)和软件(arduino IDE),她适用于艺术家、设计师、爱好者和对于“互动”有兴趣的朋友们。
Arduino能经过各类各样的传感器来感知环境,经过控制灯光、马达和其余的装置来反馈、影响环境。板子上的微控制器能够经过Arduino的编程语言来编写程序,编译成二进制文件,烧录进微控制器。
对Arduino的编程是利用 Arduino编程语言 (基于 Wiring)和Arduino开发环境(based on Processing)来实现的。基于Arduino的项目,能够只包含Arduino,也能够包含Arduino和其余一些在PC上运行的软件,他们之间进行通讯 (好比 Flash, Processing, MaxMSP)来实现。
你能够本身动手制做,也能够购买成品套装。Arduino所使用到的软件均可以避免费下载。硬件参考设计 (CAD 文件)也是遵循availableopen-source协议, 你能够很是自由地根据要求去修改他们。编程语言
目前市场上还有许多其余的单片机和单片机平台,例如51单片机、STM32单片机等。但他们对于普通开发者来讲门槛相对较高,须要有必定编程和硬件相关基础,内部寄存器较为繁杂,主流开发环境Keil配置相对麻烦,特别是对于STM32的开发,即便使用官方库也少不了环境配置,还有就是开发环境是收费的。
Arduino不但简化了使用单片机工做的流程,同时还为教师、学生以及兴趣爱好者提供了一些其余系统不具有的优点:工具
Arduino生态包括多种开发板、模块、扩展板、工具和配件。官方将其大体分为五类:入门级、网络版、物联网版、教育版、可穿戴版。具体可从官网查看Arduino开发板类型。性能
其中入门级开发板易于使用。建议初学者使用入门级如Arduino UNO R3。学习
使用入门级产品开始使用Arduino:易于使用并随时为您的第一个创意项目提供支持。这些电路板和模块是开始学习和修补电子和编码的最佳选择。StarterKit包含一本包含15个教程的书,能够引导您完成复杂项目的基础知识。ui
Arduino使用C/C++编写程序,虽然C++兼容C语言,但这是两种语言,C语言是一种面向过程的编程语言,C++是一种面向对象的编程语言。早期的Arduino核心库使用C语言编写,后来引进了面向对象的思想,目前最新的Arduino核心库采用C与C++混合编写而成。
一般咱们说的Arduino语言,是指Arduino核心库文件提供的各类应用程序编程接口(Application Programming Interface,简称API)的集合。这些API是对更底层的单片机支持库进行二次封装所造成的。例如,使用AVR单片机的Arduino的核心库是对AVR-Libc(基于GCC的AVR支持库)的二次封装。
传统开发方式中,须要经过配置多个寄存器来实现相应功能,而在Arduino中,繁杂的寄存器被封装成简单的API,能进行直观控制,加强程序的可读性的同时也提升了开发效率。
编码