产品描述
5SL4532-8CC
Arduino是什么?
Arduino是一种包含硬件(各种型号的Arduino板)和软件(Arduino IDE)的开源电子平台。硬件部分是可以用来做电路连接的Arduino电路板;引用 Arduino 官方的介绍:Arduino 是一款便捷灵活、方便上手的开源电子原型平台。包含硬件(各种型号的 Arduino 板)和软件(ArduinoIDE)。Arduino的编程语言更为简单和人性化,它构建于开放原始码 simple I / O 介面版,并且具有使用类似 Java、C 语言的 Processing / Wiring 开发环境,但实用性要远**C语言,主要由于它将一些常用语句组合函数化,故使用者可以快速入门学习使用。主要包含两个的部分:硬件部分是可以用来做电路连接的 Arduino 电路板;另外一个则是 Arduino IDE,你的计算机中的程序开发环境。你只要在 IDE 中编写程序代码,将程序上传到 Arduino 电路板后,程序便会告诉 Arduino 电路板要做些什么了。
因为 Arduino 易学好用,所以收到了不少人的追捧,为此人们为其开发出来很多种类的电子模块函数库,大大方便了大众的 Arduino 爱好者,编程者只需把对应的函数库调用,写上几句函数就可以驱动模块运作,实现意想不到的效果。
如果你会用C语言,那么通过简单的熟悉,你就可以快速的上手Arudino。
如果你没有计算机语言基础,这也不算什么问题。目前国内开发多出款图形化编程软件,比如北师大的Mixly都可以对arudino编程。我们初级篇所使用的编程软件的就是Mixly,方便大家学习入门
Arduino有什么优势
01 跨平台
Arduino IDE可以在Windows、MacintoshOS X、Linux三大主流操作系统上运行,而其他的大多数控制器只能在Windows上开发。
02 简单清晰
Arduino IDE基于processing IDE开发。对于初学者来说,较易掌握,同时有着足够的灵活性。Arduino语言基于wiring语言开发,是对 avr-gcc库的二次封装,不需要太多的单片机基础、编程基础,简单学习后,你也可以快速的进行开发。
03 开放性
Arduino的硬件原理图、电路图、IDE软件及核心库文件都是开源的,在开源协议范围内里可以任意修改原始设计及相应代码。
04 发展迅速
Arduino不仅仅是**较流行的开源硬件,也是一个优秀的硬件开发平台,更是硬件开发的趋势。Arduino简单的开发方式使得开发者更关注创意与实现,更快的完成自己的项目开发,大大节约了学习的成本,缩短了开发的周期
其实拿这4者来比较本身就是一件错误的事。
这四者就像:大众、12缸发动机、保时捷、小汽车的区别。
从一开始方向就走错了,以为学习嵌入式,以上的所有东西都要学。
好不容易熬了几个月,感觉还是一无所成,做不出什么项目,经常会感觉懂了,又好像什么都不懂。
这就是定位不够精准导致的,把精力都分散出去了,最后没一个能拿得出手的。
这四者都是属于嵌入式技术范畴,嵌入式涉及的技术知识体系非常庞大。
理论上一个人不可能全部都吃得下,除非你从大学开始把谈恋爱、打游戏、的时间都奉献出来。
对于大多数普通人来说,专注于嵌入式某个细分方向深耕足够了。
下面分别对这4者来分析下:
Arduino
单片机有很多不同的品牌和型号,Arduino是单片机的一种。
一般来说是以AVR单片机为首的集成电路板就叫Arduino(当然后面还有用STM32或者其他单片机开发的非官方版,这里就不一一阐述了)。
Arduino用专业的术语说就是开源的硬件开发学习平台,包含了多种型号的Arduino电路板和**编程开发工具(Arduino IDE)。
Arduino SKD有很多现成的库函数,用于对硬件层的控制。
开发者通过调用库函数就能轻易地使用AVR这个芯片的功能,然后通过不同程序去实现不同的硬件控制,比如说控制灯、继电器、电机、蜂鸣器之类的。
而不需要像单片机开发那样要看芯片数据手册去配置寄存器使用芯片功能。
虽然用Arduino开发电子产品效率像开挂一样,不过实际产品却很少用。
因为实际的产品在成本、尺寸、性能、功耗等方面都有特定的要求。
Arduino一般是用于给你学习和提升c语言用的,通过这个平台你可以快速了解c语言是如何控制硬件的。
还有就是一些创客需要快速去实现某些奇特的想法。
所以,如果是走Linux软件方向的,从Arduino入手比较合适,如果你想从事单片机开发偏硬件方向,我建议直接从51单片机入手。
2. arm
我们把Arduino比作是大众,树莓派是保时捷,那arm就是一个V12发动机。
Arm本身就是一家英国公司名简称(Advanced RISC Machines),arm也是一种芯片内核技术。
我们单片机一般都是有内核的,比如说51内核,以前因特尔设计的,主要针对一些控制和运算比较简单的电子产品。
还有ARM内核的,主要针对运算和控制比较复杂的电子产品。
Arduino的AVR单片机正好介于这两者之间,比51内核强大,比ARM内核菜。
单纯的内核不能直接应用在产品,需要进行二次开发,所以,ARM公司一般会把这种内核技术卖给半导体公司做二次设计。
一般ARM公司有3种授权级别:
①.架构层授权
这个级别是指可以对ARM内核架构进行大量改造,包括汇编指令集的扩展和缩减,像苹果就是在ARMV7-A架构基础上,扩展出swift架构。
除了苹果以外,还有海思麒麟、联发科、三星、高通等cpu大多都是ARM架构。
②.内核层授权
这个级别是可以在这个内核基础上可以加自己需要的外设,比如说GPIO、USART、ADC、DMA等等,最后做成自己的单片机。
像STM32就是这样干的,类似的芯片还有巨多,大多数出SOC单片机的都是属于这层。
③.使用层授权
这个层级权限较低,相当于你只能使用它,不能对它进行修改。
ARM内核也分很多个版本,ARM7、ARM9、ARM11,到了ARM11以后就是以Cortex命名了。
Cortex架构也分三个系列性能从低到高:M、R、A。
Cortex-M定位是中低端市场,也就是我们的单片机,也叫微控制器,我们较常用的STM32F103就是Cortex-M3的内核。
Cortex-R定位高端实时系统,比如说医疗、工业、汽车、基带等等领域。
Cortex-A定位是通用市场,典型的就是平板电脑、手机、数字电视、机顶盒、服务器、打印机等领域。
3.树莓派
树莓派和Arduino有点像,不是某个芯片,而是一个集成的电路板。
树莓派性能比Arduino要强悍很多,树莓派用的是ARM内核处理器,接上鼠标和键盘就可以当迷你电脑一样用。
不过电脑一般是window系统,而树莓派大多是Linux。
很多想学习Linux,想从事嵌入式纯软件方向的就是基于树莓派这个平台来学习的。
4.单片机
这个我是较熟悉的,毕竟自己干了10年。
单片机就是一个芯片,品牌和型号都很多,比如GD、ST、TI、STC、新唐、NXP等等太多了。
单片机需要做电路和程序的二次开发才能实现一个完整的电子产品功能。
这个方向的职位有几个:单片机工程师、STM32工程师、嵌入式工程师。
学习的知识体系也更多,总体来说基础部分有3个:基础电路、C语言、单片机(51,STM32)。
更加详细的学习路径和步骤可以通过无际单片机编程了解。
Arduino就是相当于用AVR的单片机帮你做好底层硬件和基础单片机寄存器配置程序,你直接使用就能实现。
从难度来说单片机开发更难,Arduino更简单。
从产品的角度,单片机也比Arduino应用更加广泛。
单纯学Arduino基本没什么就业方向,Arduino打c语言基础,需要继续往树莓派学习,主要往Linux应用开发
产品推荐