[信息] [资料] STM32和Arduino对比,谁更厉害?

[复制链接]
 楼主| powerantone 发表于 2021-2-22 15:10 | 显示全部楼层 |阅读模式
Arduino和STM32性能对比究竟谁更厉害呢?很多电子爱好者面对Arduino和STM32时都会有个两难的决定,不知道如何选择使用。Arduino一直处在火热状态,但是STM32接口多性能强,速度也较快?
Arduino和STM32各自的特点
Arduino:
101523vlfmfj01bl8arfom.png.thumb.jpg

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

    对于有计算或控制要求的,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语言为主要开发语言。
    学习后获得的知识上: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的开发环境进行编程了。根据自己项目类型和需求选择适合自己的才最重要。



小小蚂蚁举千斤 发表于 2023-1-9 15:48 来自手机 | 显示全部楼层
一步一步来吧,Arduino确实要简单,但简单也面对的功能相对要也简单
nomomy 发表于 2023-1-9 17:12 | 显示全部楼层
stm32的芯片太多了,部分支持arduino开发。
我吃小朋友 发表于 2023-1-10 01:30 | 显示全部楼层
其实要是能用STM32就用STM32吧,哈哈
她已醉 发表于 2023-1-10 02:02 | 显示全部楼层
我觉得STM32的性价比会比arduino能高点
白马过平川 发表于 2023-1-10 02:34 | 显示全部楼层
Arduino是一个平台吧,其实里面包含很多MCU
将爱藏于深海 发表于 2023-1-10 03:06 | 显示全部楼层
这个比较没啥意义的,arduino适合教学,但是STM32适合项目和产品
一只眠羊 发表于 2023-1-10 03:38 | 显示全部楼层
这个arduino属实很火热,也很好用
春日负喧 发表于 2023-1-10 04:10 | 显示全部楼层
分析的倒是很有道理,主要是STM32用的人比较多
失物招領 发表于 2023-1-10 04:42 | 显示全部楼层
给我的感觉是arduino应该是更厉害一些
未说出口的像你 发表于 2023-1-10 05:14 | 显示全部楼层
这俩应该不应该说谁更厉害吧,应该说是这俩各有千秋
在曼谷的春 发表于 2023-1-10 05:46 | 显示全部楼层
如果可以的话,楼主用STM32吧,我觉得便宜一些
西洲 发表于 2023-1-10 06:18 | 显示全部楼层
谁厉害?这还用说么?当然STM32的啊
tabmone 发表于 2023-1-11 22:27 | 显示全部楼层
arduino更实用一些。              
SantaBunny 发表于 2023-1-13 17:37 | 显示全部楼层
各有千秋吧,看个人需求,我觉得arduino好用一点
sdlls 发表于 2023-1-16 13:26 | 显示全部楼层
这个没有可对比性的。              
天天向善 发表于 2023-1-16 13:44 | 显示全部楼层
基本没有什么人会用Arduino开发项目,少之又少。
Pretext 发表于 2023-1-16 13:45 | 显示全部楼层
Arduino大部分是用于教学,或者快捷开发中。
芯路例程 发表于 2023-1-16 13:46 | 显示全部楼层
不需要驱动很多外设的可以选Arduino。一般项目都选ST。
kkzz 发表于 2023-1-19 14:52 | 显示全部楼层
arduino就是无线扩展的。              
您需要登录后才可以回帖 登录 | 注册

本版积分规则

676

主题

3894

帖子

4

粉丝
快速回复 在线客服 返回列表 返回顶部