打印
[开发工具]

STM32和Arduino对比,谁更厉害?

[复制链接]
1888|38
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
tabmone|  楼主 | 2025-1-29 09:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
01  Arduino和STM32的特点
Arduino:
STM32:

02  Arduino和STM32对比
Arduino有很多个版本,特性也并不一致,如果拿Arduino UNO R3这个最普遍的来说的话,它的控制器是AVR 138单片机,性能上和STM32不在一个水平上,该款在某种程度上和宏晶的STC12系列差不多(仅在运算上),Arduino MEGA 2560 这款算是MCU版的Arduino中的老大了,接口丰富,应该和STM32F1系列不相上下,但是功耗挺大,芯片发热明显,而同款封装的STM32F1ZET6则仅有微热,环境温度低的时候甚至感觉不到有温度。
根据两者的不同特性我们可以按照不同应用来比较:
  • 在学习容易程度方面:Arduino相对于STM32容易很多。
  • 要求的基本编程思想:Arduino:面向对象的类C++、类Java为主,它的语言基于C但是又有些四不像。而STM32则以正统的C语言为主要开发语言。
  • 学习后获得的知识:Arduino弱于STM32。因为Arduino封装了很多底层操作。除非自己尝试编写Arduino以及配套电路模块的库,否则还只是停留在基础的编程上。
  • 开源程度上:用STM32做出来的东西想开源就开源,不想开源可以什么都不公布。
  • 外围电路搭建难易程度:Arduino远大于STM32。
  • 可拓展性:Arduino与STM32相当,Arduino基本上把控制器的大部分引脚都印出来了。
  • 成本,假设做出具有相同功能的东西:Arduino成本高于STM32。  
如果还不知道怎么选择,这里给出选择建议:
  • 如果你是对编程语言了解不深的大学层次以下的普通学生,建议上手Arduino
  • 如果C功底薄弱上来就搞STM32你会很快有放弃的念头
  • 如果只是为了就业而学习,果断STM32类单片机
  • 如果只是为了好玩而学习,本身非电子类专业,没有信心,建议Arduino
  • 如果编程功底好,建议STM32。搞定之后你看看Arduino开源社区做的东西,用STM32轻轻松松搞定
  • 当然如果有能力,两者都接触接触,一般地一周不到Arduino的基本特性你就掌握了,以后有需要的话,可以很自如地移植Arduino代码到STM32等MCU平台上。
其实这两者其实针对的方向略有不同,Arduino一般电子爱好者和DIY的选择,而STM32往往用于实际产品的研发制造。但是现在Arduino系列也能支持STM32的芯片,通过先下载Arduino固件,后就能使用Arduino的开发环境进行编程了。根据自己项目类型和需求选择适合自己的才最重要。

使用特权

评论回复
沙发
星辰大海不退缩| | 2025-1-30 10:32 | 只看该作者
STM32往往用于实际产品的研发制造

使用特权

评论回复
板凳
10299823| | 2025-2-4 19:23 | 只看该作者
STM32采用32位ARM Cortex-M内核,主频可达200MHz以上,拥有更大的闪存和RAM,具备丰富的外设接口(如浮点运算单元、多种定时器、CAN总线、USB、以太网等),适用于复杂程序和高性能应用

使用特权

评论回复
地板
jonas222| | 2025-2-4 22:42 | 只看该作者
Arduino由于其简单的语法和丰富的库,更适合初学者和非专业开发者。STM32则需要更多的专业知识和对底层硬件的理解,适合有经验的开发者。

使用特权

评论回复
5
nomomy| | 2025-2-5 08:14 | 只看该作者
如果注重性能、稳定性和对硬件资源的精细控制,以及从事专业领域的开发和应用,STM32可能是更好的选择;如果是初学者或专注于创意实现、快速原型开发,以及对开发难度和成本有较高要求,那么Arduino可能更适合。

使用特权

评论回复
6
yorkbarney| | 2025-2-5 09:19 | 只看该作者
对于初学者和简单项目,Arduino是更好的选择;而对于需要高性能和复杂控制的项目,STM32则更为合适。

使用特权

评论回复
7
minzisc| | 2025-2-5 10:54 | 只看该作者
成本因型号和功能而异,但通常比Arduino板要高。对于需要高性能和复杂功能的项目,STM32可能是更经济的选择

使用特权

评论回复
8
sesefadou| | 2025-2-5 12:58 | 只看该作者
对于有计算或控制要求的项目,STM32是更好的选择。它广泛应用于工业控制、消费电子产品等领域,能够满足对性能和功能的高要求

使用特权

评论回复
9
mollylawrence| | 2025-2-5 19:25 | 只看该作者
使用简化的类C语言(基于Wiring),通过Arduino IDE进行编程,极大地降低了学习门槛。Arduino IDE界面友好,内置大量库函数,简化了开发过程,适合初学者和快速原型开发

使用特权

评论回复
10
hearstnorman323| | 2025-2-5 20:54 | 只看该作者
Arduino则以其简单易用和适合快速原型开发而著称。它是一个开源电子原型平台,基于易于使用的硬件和软件。Arduino板通常具有有限的GPIO引脚和内存,外设也相对简单,但其设计哲学是简单易用,适合初学者和教育用途。

使用特权

评论回复
11
caigang13| | 2025-2-5 21:59 | 只看该作者
Arduino是用的AVR单片机

使用特权

评论回复
12
hearstnorman323| | 2025-2-6 15:15 | 只看该作者
通常使用C/C++编程语言,需要较为复杂的开发工具链,如STM32CubeIDE或Keil。STM32的库和资源较为丰富,但学习曲线相对较陡,适合已有一定编程基础的用户

使用特权

评论回复
13
burgessmaggie| | 2025-2-6 18:47 | 只看该作者
STM32通常具有更高的性能,包括更快的处理速度和更多的接口。这使得它在需要复杂计算和控制的应用中表现更佳。

使用特权

评论回复
14
jtracy3| | 2025-2-6 19:23 | 只看该作者
基于AVR或ARM Cortex-M内核的开源电子原型平台,设计简洁,易于上手。Arduino板子种类多样,接口设计适合外设接入,适合做简单电路和初学项目

使用特权

评论回复
15
chenjun89| | 2025-2-6 19:54 | 只看该作者
两者都不是一个概念,一个是芯片厂家,一个是开发模式

使用特权

评论回复
16
eefas| | 2025-2-6 20:05 | 只看该作者
Arduino的性能和资源相对较低,适合简单的控制和数据处理任务

使用特权

评论回复
17
其实还是针对项目的实用情况进行确认的

使用特权

评论回复
18
kkzz| | 2025-2-13 17:01 | 只看该作者
STM32需要一定的专业知识和对硬件底层的理解,适合有一定基础的开发者

使用特权

评论回复
19
albertaabbot| | 2025-2-13 18:11 | 只看该作者
STM32的学习曲线相对较陡,需要一定的嵌入式系统知识和C/C++编程基础。开发过程中可能需要更多的硬件设计和编程知识。

使用特权

评论回复
20
51xlf| | 2025-2-13 18:56 | 只看该作者
Arduino的开发环境更加友好和直观,而STM32通常需要使用更复杂的开发工具,如Keil或STM32CubeIDE。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

35

主题

1529

帖子

0

粉丝