区别:Arduino是一款便捷灵活、方便上手的开源电子原型平台,是主要以AVR单片机为核心控制器的单片机应用开发板;而单片机是一种集成电路芯片,是一个小而完善的微型计算机系统。
简单来说呢就是arduino是对单片机的二次封装,所有外设、模块接口都是现成的,你只需要懂C语言+各种调库就能轻松实现产品功能,不需要关心硬件原理,适合小白快速上手。
arduino和单片机的区别
1、Arduino是一款便捷灵活、方便上手的开源电子原型平台。包含硬件(各种型号的Arduino板)和软件(Arduino IDE)。由一个欧洲开发团队于2005年冬季开发。其成员包括Massimo Banzi、David Cuartielles、Tom Igoe、Gianluca Martino、David Mellis和Nicholas Zambetti。
它构建于开放原始码simple I/O介面版,并且具有使用类似Java、C语言的Processing/Wiring开发环境。主要包含两个主要的部分:硬件部分是可以用来做电路连接的Arduino电路板;另外一个则是Arduino IDE,你的计算机中的程序开发环境。你只要在IDE中编写程序代码,将程序上传到Arduino电路板后,程序便会告诉Arduino电路板要做些什么了。
通俗的讲:arduino就是主要以以AVR单片机为核心控制器的单片机应用开发板(当然也有其他核心的例如STM32版本的但是不是官方的,还有intel的伽利略),或者是学习板啥的,但是Arduino开发人员开发了简单的函数,还有许多应用库,这样就不用直接去操作寄存器了,使得没有很好的单片机基础的人员也可以使用Arduino做出自己想要的东西。Arduino的开发人员还开发了一个简洁的IDE(集成开发环境)也就是写代码,编译,调试,下载的上位机软件。
2、单片机(Microcontrollers)是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域广泛应用。从上世纪80年代,由当时的4位、8位单片机,发展到现在的300M的高速单片机。
3、arduino是一个单片机系统,核心是ATMEGA系列单片机,配上一些周边器件,安装在一款印刷电路板上,能够独立完成设定功能。而单片机就是一块芯片,无法在没有周边器件的情况下单独完成既定功能。
一、Arduino和单片机的区别?
arduino和51都是入门级学习套件。
1.arduino
Arduino的开发一般是一套以AVR单片机为核心控制器的硬件(开发板),还有配套他们的开发环境Arduino IDE。
简单来说呢就是arduino是对单片机的二次封装,所有外设、模块接口都是现成的,你只需要懂C语言+各种调库就能轻松实现产品功能,不需要关心硬件原理,适合小白快速上手。
所以,由此可以知道,arduino更偏向于走纯软件路线的同学,由这个东西来熟悉c语言是怎么控制硬件的。
通过arduino+外接功能模块(超声波、电机、蓝牙等等)就可以很快地做出各种有创意的产品。
同时入门门槛也很低,不需要配置芯片寄存器、不需要很懂硬件、甚至都不需要看芯片手册,深得创客喜爱。
2.单片机
Arduino是一个开源硬件平台,而单片机是一个芯片。
Arduino的核心控制器就是AVR的单片机,当然现在可能还有基于别的芯片做的,比如说STM32,具体我也没深入去了解。
如果我们从事单片机产品开发,就需要你懂硬件原理,能配置寄存器,要会看芯片数据手册,所有程序都是从零开始编写,所以学习难度比较大,开发周期也长。
同样一个产品,实现相同功能,用arduino做可能只需要几个小时,而用单片机则需要几天。
二、Arduino好还是单片机好?
很多人可能会说,Arduino这么爽,为什么还要用单片机。
存在即合理,虽然单片机对于工程师来说做起来苦逼,但是对于公司来说爽啊。
单片机更适合做定制化和集成化的商用产品,因为它的成本低,灵活性也好,体积也更小。
而Arduino平台虽然你用得爽,开发起来很快,但是毕竟是依赖平台的东西,脱离平台其实就是单片机。
如果不脱离平台,成本体积各方面都满足不了实际产品的需求。
所以,一般在量产的产品,基本很少人会用Arduino去做,大多数都是使用单片机。
这两个也不存在哪个比哪个好的说法,两者走的方向不一样。
简单来说就是,想学技术就玩单片机,不想学技术,只想快速做出产品就学arduino。
从就业的角度来说,单片机工资比较高,市场需求也更大,只会arduino可能会找不到工作。
很多人可能会问,学单片机之前需要先学习arduino吗?
我个人建议是不用,51单片机其实已经非常适合新手入门了,在学习51单片机的同时学习c语言,学完基本语法和单片机寄存器配置再通过项目去巩固是最快的学习路径了。
Arduino更像是给往Linux应用层方向的小伙伴一个过渡。