STM32和Arduino有什么区别? 对于 Arduino和STM32的区别,大家知道多少呢?很多人在选择硬件进行学习的时候,面对 Arduino和STM32,不知道该怎么选择。下面小橙同学就给大家介绍一下 Arduino和STM32各自的特点和优势。 Arduino Arduino是一款便捷灵活、方便上手的开源电子原型平台。包含硬件(各种型号的Arduino板)和软件(ArduinoIDE)。由一个欧洲开发团队于2005年冬季开发。其成员包括Massimo Banzi、David Cuartielles、Tom Igoe、Gianluca Martino、David Mellis和Nicholas Zambetti等。 大多数Arduino的主控芯片是AVR单片机,Arduino平台具有跨平台、简单清晰、开放性、发展迅速等特点。 (1)跨平台 Arduino IDE能够在目前主流的三大操作系统上运行,分别是Windows、Macintosh OS X、Linux,但是其他的大多数控制器只能在Windows上开发。 (2)简单清晰 Arduino IDE是基于processingIDE开发的。它对于初学者来说,非常容易掌握,并且它同时有着足够的灵活性。Arduino语言基于wiring语言开发,是对 avr-gcc库的二次封装,而且不需要太多的单片机基础、编程基础,通过简单学习后,普通人员也可以快速的进行开发。 (3)开放性 Arduino的硬件原理图、电路图、IDE软件及核心库文件都是开源的,开发人员可以在开源协议范围内里可以任意修改原始设计及相应代码。 (4)发展迅速 Arduino不仅是全球最流行的开源硬件,还是一个优秀的硬件开发平台,更是硬件开发的趋势。Arduino简单的开发方式可以让开发者更关注创意与实现,可以更快的完成自己的项目开发,大大节约了学习的成本,缩短了开发的周期。 STM32 STM32系列专为要求高性能、低成本、低功耗的嵌入式应用设计的ARM Cortex-M0,M0+,M3,M4和M7内核。STM32按内核架构分为不同产品: 主流产品(STM32F0、STM32F1、STM32F3)、超低功耗产品(STM32L0、STM32L1、STM32L4、STM32L4+)、高性能产品(STM32F2、STM32F4、STM32F7、STM32H7)。 在STM32F105和STM32F107互连型系列微控制器之前,意法半导体已经推出STM32基本型系列、增强型系列、USB基本型系列、互补型系列;新系列产品沿用增强型系列的72MHz处理频率。内存包括64KB到256KB闪存和 20KB到64KB嵌入式SRAM。新系列采用LQFP64、LQFP100和LFBGA100三种封装,不同的封装保持引脚排列一致性,结合STM32平台的设计理念,开发人员通过选择产品可重新优化功能、存储器、性能和引脚数量,以最小的硬件变化来满足个性化的应用需求。 STM32具有3个12位的us级A/D转换器(16通道)、2通道12位D/A转换器、具有调试模式、低功耗模式、DMA等功能。因为STM32主要是给开发人员使用的,所以需要开发人员拥有一定的专业知识,还有编写代码的能力。 Arduino和STM32的对比 相对来说,Arduino平台弱化了具体的硬件的操作,并且它的函数和语法都非常“傻瓜化”,其更倾向于逻辑创意、上层代码; 但是对于有计算或控制要求的项目来说,STM32是更好选择。STM32如果买开发板的话就要从硬件底层学起,掌握它的各种细节。 下面来对比两者的不同特性: (1)编程语言:Arduino主要是面向对象的类C++、类Java为主要语言。STM32主要是正统的C语言作为主要开发语言; (2)学习难易程度:相对来说,Arduino比STM32容易的多; (3)外围电路搭建:Arduino要比STM32难度大; (4)成本:假设做产品所用功能相同的器件,Arduino成本要比STM32高。 总的来说,对于Arduino,因为Arduino对硬件底层做了很多的封装。Arduino生态做的很好,也有系统的配套教程,所以小白上手开发相对容易。对于STM32的话,需要开发人员自己要做的事情比较多,自己需要搭建硬件以及编写软件程序,所以对C语言要求也比较高,入门比Arduino难。 文章出处: 金橙智能 |