很多初学者和我当初一样不知道arduino和单片机的区别。
其实我也是学完才知道arduino的存在,还好当初是直接学的51单片机,不然可能就去学arduino了,因为这个平台对初学者比较友好。
如果当初先尝试arduino可能就不会往单片机发展。
我们要想搞清楚arduino和单片机哪个更好之前,我们需要先知道它们之间的区别。
一、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应用层方向的小伙伴一个过渡。
相关文章