本帖最后由 blust5 于 2023-2-21 11:22 编辑
Arduino是什么?
Arduino是一款便捷灵活、方便上手的开源电子原型平台。包含硬件(各种型号的Arduino板)和软件(Arduino IDE)。由一个欧洲开发团队于2005年冬季开发。其成员包括Massimo Banzi、David Cuartielles、Tom Igoe、Gianluca Martino、David Mellis和Nicholas Zambetti等。 简单来说,Arduino的开发一般是一套以AVR单片机为核心控制器的硬件(开发板),还有配套的开发环境Arduino IDE。
说到Arduino,首先要说一下单片机。什么是单片机呢? 单片机(Single-Chip Microcomputer)是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域广泛应用。从上世纪80年代,由当时的4位、8位单片机,发展到现在的300M的高速单片机。 单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。相当于一个微型的计算机,和计算机相比,单片机只缺少了I/O设备。概括的讲:一块芯片就成了一台计算机。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。同时,学习使用单片机是了解计算机原理与结构的最佳选择。
那么单片机能用来做什么呢? 目前单片机的应用非常广泛,已经扩展到各类智能仪表、实时工控、通讯设备、导航系统、家用电器等电子电器产品应用中。 从二十世纪九十年代开始,单片机技术就已经发展起来,随着时代的进步与科技的发展,目前该技术的实践应用日渐成熟,单片机被广泛应用于各个领域。现如今,人们越来越重视单片机在智能电子技术方面的开发和应用,单片机的发展进入到新的时期,无论是自动测量还是智能仪表的实践,都能看到单片机技术的身影。当前工业发展进程中,电子行业属于新兴产业,工业生产中人们将电子信息技术成功运用,让电子信息技术与单片机技术相融合,有效提高了单片机应用效果。作为计算机技术中的一个分支,单片机技术在电子产品领域的应用,丰富了电子产品的功能,也为智能化电子设备的开发和应用提供了新的出路,实现了智能化电子设备的创新与发展。
说完了单片机,我们回过头来再看一下Arduino是什么。 其实简单来说,Arduino就是主要以AVR单片机为核心控制器的单片机应用开发板(当然也有其他核心的例如STM32版本的但不是官方的,还有intel的伽利略),或者是学习板啥的,但是Arduino开发人员开发了简单的函数,还有许多应用库,这样就不用直接去操作寄存器了,使得没有很好的单片机基础的人员也可以使用Arduino做出自己想要的东西。Arduino的开发人员还开发了一个简洁的IDE(集成开发环境)也就是写代码,编译,调试,下载的上位机软件。 而且Arduino的所有的相关资源都是开源的,包括函数、库、IDE以及硬件设计方案。 为了保持设计的开放源码理念,因为版权法可以监管开源软件,却很难用在硬件上,Arduino决定采用Creative Commons许可。 Creative Commons(CC)是为保护开放版权行为而出现的类似GPL的一种许可(license)。在Creative Commons许可下,任何人都被允许生产电路板的复制品,还能重新设计,甚至销售原设计的复制品。你不需要付版税,甚至不用取得Arduino团队的许可。然而,如果你重新发布了引用设计,你必须说明原始Arduino团队的贡献。如果你调整或改动了电路板,你的最新设计必须使用相同或类似的 Creative Commons许可,以保证新版本的Arduino电路板也会一样的自由和开放。被保留的只有Arduino这个名字。它被注册成了商标。如果有人想用这个名字卖电路板,那他们必须付一点商标费用给Arduino的核心开发团队成员。
既然已经有了单片机,而且基本上每款单片机都会有开发板,为什么还要开发一个Arduino出来呢?Arduino相比于单片机来说有哪些优势呢? 1、学习Arduino可以完全不需要了解其内部硬件结构和寄存器设置,仅仅知道它的端口作用即可;可以不懂硬件知识,只要会简单的C语言,就可用Arduino IDE编写程序(Arduino具有大量的完善的开源函数、库类等)。 2、Arduino 软件语言仅仅需掌握少数几个指令,而且指令的可读性也强,稍微懂一点C语言即可,轻松上手,快速应用。 3、Arduino 的理念就是开源,软硬件完全开放,技术上不做任何保留。针对周边I/O设备的Arduino 编程,很多常用的I/O 设备都已经带有库文件或者样例程序,在此基础上进行简单的修改,即可编写出比较复杂的程序,完成功能多样化的作品。 4、Arduino 由于开源,也就意味着从Arduino 相关网站、博客,论坛里得到大量的共享资源,在共享资讯的辅助下,通过资源整合,能够加快您创作作品的速度及效率。 5、相对其他开发板,Arduino 及周边产品相对质廉价优,学习或创作成本低,重要一点是:烧录代码不需要烧录器,直接用USB线就可以完成下载。
既然Arduino相较于单片机来说具有这么多优点,可能有人就会担忧了:Arduino会不会取代单片机,导致单片机丢失市场呢? 其实完全没必要担心,Arduino和单片机是有不同的应用场景的。 单片机更适合做定制化和集成化的商用产品,因为它的成本低,灵活性也好,体积也更小。 而Arduino平台虽然你用得爽,开发起来很快,但是毕竟是依赖平台的东西,脱离平台其实就是单片机。 如果不脱离平台,成本体积各方面都满足不了实际产品的需求。 所以,一般在量产的产品,很少人会用Arduino去做,大多数都是使用单片机。 这两个也不存在哪个比哪个好的说法,两者走的方向不一样。 简单来说就是,想学技术就玩单片机,不想学技术,只想快速做出产品就学Arduino。 从就业的角度来说,单片机工资比较高,市场需求也更大,只会Arduino可能会找不到工作。
以上就是关于Arduino和单片机的区别以及关系。欢迎大家评论补充。
|