打印
[信息]

STM32和Arduino对比,谁更厉害?

[复制链接]
1449|40
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
laocuo1142|  楼主 | 2024-5-9 13:35 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  Arduino和STM32性能对比究竟谁更厉害呢?很多电子爱好者面对Arduino和STM32时都会有个两难的决定,不知道如何选择使用。Arduino一直处在火热状态,但是STM32接口多性能强,速度也较快?

Arduino和STM32各自的特点

Arduino:

    Arduino更倾向于创意,它弱化了具体的硬件的操作,它的函数和语法都非常简单,而且非常“傻瓜化”。
    大部分Arduino的主控是AVR单片机,Arduino的优势还是代码封装性高,所需语句少,降低软件的开发难度。
    Arduino上手比较容易,只要懂一点点硬件和C++就能开发。
    Arduino大多数功能都有做好了的库,所以使用起来很简单,但是对于稍微复杂点的功能可控性较差。
STM32:


    对于有计算或控制要求的,STM32是更好选择。STM32如果买开发板的话就要从硬件底层学起,掌握它的各种细节。
    STM32更注重工程实际,事实上工厂中很多简单的仪器什么温控仪,什么普通的电机控制器,什么低档PLC,还有民用中的一些玩具,游戏手柄、有线键盘鼠标等外设,高校食堂里刷卡的pos机等等其实用得很多。



    STM32主要是给专业开发人员做产品用的,需要一定的专业知识,但同时编写代码实现功能也相对复杂。比如串口输出一个简单的字符串,对于Arduino可能从新建工程开始,10行代码就能实现,但是如果使用STM32的开发工具比如Keil,可能需要上百行代码甚至更多,串口相关实例:按下按键,通过串口发送数据实例。

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语言为主要开发语言,相关推荐:嵌入式开发为什么选择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的开发环境进行编程了。根据自己项目类型和需求选择适合自己的才最重要。

使用特权

评论回复
沙发
纠结的那些年| | 2024-8-31 16:05 | 只看该作者
Arduino和STM32各自有不同的特点和优势,适合不同类型的用户和应用场景。

使用特权

评论回复
板凳
qsrg51| | 2024-12-31 23:58 | 只看该作者
Arduino易上手,STM32性能强大。

使用特权

评论回复
地板
abotomson| | 2025-1-3 10:54 | 只看该作者
基于ARM Cortex-M内核,提供从低功耗到高性能的多种型号。
通常具有更多的GPIO引脚、更大的内存和更复杂的外设,如高级通信接口(如CAN、以太网)。
电路板设计复杂,很多低级配置(如引脚、电源电压)需要手动设置,对新手不友好,但在硬件设计和学习芯片功能方面更具挑战性。

使用特权

评论回复
5
jackcat| | 2025-1-3 11:03 | 只看该作者
推荐使用Arduino,因其简单易用,适合快速上手和创意实现。

使用特权

评论回复
6
febgxu| | 2025-1-3 11:34 | 只看该作者
Arduino:外围电路搭建难易程度大于STM32。但Arduino基本上把控制器的大部分引脚都印出来了,可拓展性与STM32相当。
STM32:外围电路搭建相对简单,可拓展性强。

使用特权

评论回复
7
kmzuaz| | 2025-1-3 12:05 | 只看该作者
Arduino入门门槛低,学习曲线平缓。由于库和IDE封装良好,不必深入理解底层细节,适合通过快速动手项目掌握编程和基础电子知识。

使用特权

评论回复
8
uptown| | 2025-1-3 12:21 | 只看该作者
Arduino更简单,适合初学者和快速原型设计

使用特权

评论回复
9
dspmana| | 2025-1-3 12:42 | 只看该作者
STM32性能更强,适合需要高计算能力的应用

使用特权

评论回复
10
tifmill| | 2025-1-3 13:02 | 只看该作者
如果你的项目需要高性能、大内存、丰富的外设和高级功能,或者你有较强的编程和硬件背景,STM32可能是更好的选择。

使用特权

评论回复
11
xiaoyaodz| | 2025-1-3 13:24 | 只看该作者
STM32 基于 32 位 ARM Cortex-M 内核,有多种高性能型号,时钟频率较高,数据处理能力和运算速度强,能处理复杂计算与实时任务,如工业控制中的高速数据采集与处理、视频图像处理等。Arduino 多采用 8 位微控制器,性能有限,时钟频率和内存较小,适合简单控制任务与传感器数据采集,如小型智能玩具、简单的环境监测设备等

使用特权

评论回复
12
kkzz| | 2025-1-3 14:04 | 只看该作者
Arduino 易上手、成本低、资源丰富,适合电子相关课程教学和学生实践项目,帮助初学者快速掌握电子电路和编程基础知识。STM32 在高校和科研机构的科研项目中应用广泛,用于需要高性能处理和复杂功能实现的课题研究,也可作为嵌入式系统课程的进阶教学内容。

使用特权

评论回复
13
lihuami| | 2025-1-3 14:28 | 只看该作者
一般情况下,STM32 芯片及开发板成本高于 Arduino。Arduino 板价格亲民,适合预算有限的个人爱好者和小型项目

使用特权

评论回复
14
tabmone| | 2025-1-3 14:46 | 只看该作者
使用STM32进行开发时,开发者可以直接操作底层硬件寄存器,从而获得更大的灵活性来优化程序执行效率和资源利用率。

使用特权

评论回复
15
eefas| | 2025-1-3 15:12 | 只看该作者
Arduino 的函数和语法简单,封装程度高,有大量现成库,开发难度低,初学者易上手,可快速实现基本功能。STM32 开发相对复杂,需了解硬件底层细节、寄存器操作等,掌握外设驱动开发,学习曲线较陡,但开发灵活度高

使用特权

评论回复
16
burgessmaggie| | 2025-1-3 15:38 | 只看该作者
STM32 有不同存储容量的型号,可满足大程序和大量数据存储需求,如存储大量的历史数据或复杂的算法模型。Arduino 存储容量相对较小,在处理大程序或大量数据时可能受限。

使用特权

评论回复
17
sheflynn| | 2025-1-3 16:03 | 只看该作者
Arduino:主打简单项目,适合低功耗、低处理能力需求的项目。大多数Arduino板使用AVR单片机,性能较STM32低。

使用特权

评论回复
18
bestwell| | 2025-1-3 16:21 | 只看该作者
如果你是初学者,或者你的项目比较简单,需要快速原型制作和开发,Arduino可能是更合适的选择。

使用特权

评论回复
19
kkzz| | 2025-1-3 16:41 | 只看该作者
基于ARM Cortex内核,性能更强,适用于高性能和复杂功能项目。处理速度快,接口丰富,适合需要大量计算和控制的应用。

使用特权

评论回复
20
minzisc| | 2025-1-3 17:08 | 只看该作者
相较于大多数Arduino板使用的AVR单片机,STM32系列微控制器通常具备更高的主频、更多的内存和外设接口,适合需要更强计算能力和复杂控制逻辑的应用。

使用特权

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

本版积分规则

1245

主题

5658

帖子

13

粉丝