電子產(chǎn)業(yè)一站式賦能平臺

PCB聯(lián)盟網(wǎng)

搜索
查看: 4405|回復: 2
收起左側(cè)

STM32和Arduino對比,誰更厲害?

[復制鏈接]

131

主題

512

帖子

1666

積分

三級會員

Rank: 3Rank: 3

積分
1666
跳轉(zhuǎn)到指定樓層
樓主
發(fā)表于 2021-4-3 11:54:41 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
Arduino和STM32性能對比究竟誰更厲害呢?很多電子愛好者面對Arduino和STM32時都會有個兩難的決定,不知道如何選擇使用。Arduino一直處在火熱狀態(tài),但是STM32接口多性能強,速度也較快?
Arduino和STM32各自的特點
Arduino:


    Arduino更傾向于創(chuàng)意,它弱化了具體的硬件的操作,它的函數(shù)和語法都非常簡單,而且非常“傻瓜化”。
    大部分Arduino的主控是AVR單片機,Arduino的優(yōu)勢還是代碼封裝性高,所需語句少,降低軟件的開發(fā)難度。
    Arduino上手比較容易,只要懂一點點硬件和C++就能開發(fā)。
    Arduino大多數(shù)功能都有做好了的庫,所以使用起來很簡單,但是對于稍微復雜點的功能可控性較差。
STM32:


    對于有計算或控制要求的,STM32是更好選擇。STM32如果買開發(fā)板的話就要從硬件底層學起,掌握它的各種細節(jié)。
    STM32更注重工程實際,事實上工廠中很多簡單的儀器什么溫控儀,什么普通的電機控制器,什么低檔PLC,還有民用中的一些玩具,游戲手柄、有線鍵盤鼠標等外設,高校食堂里刷卡的pos機等等其實用得很多。
    STM32主要是給專業(yè)開發(fā)人員做產(chǎn)品用的,需要一定的專業(yè)知識,但同時編寫代碼實現(xiàn)功能也相對復雜。比如串口輸出一個簡單的字符串,對于Arduino可能從新建工程開始,10行代碼就能實現(xiàn),但是如果使用STM32的開發(fā)工具比如Keil,可能需要上行代碼甚至更多。
Arduino和STM32對比
    Arduino有很多個版本,特性也并不一致,如果拿Arduino UNO R3這個最普遍的來說的話,它的控制器是AVR 138單片機,性能上和STM32不在一個水平上,該款在某種程度上和宏晶的STC12系列差不多(僅在運算上),Arduino MEGA 2560 這款算是MCU版的Arduino中的老大了,接口豐富,應該和STM32F1系列不相上下,但是功耗挺大,芯片發(fā)熱明顯,而同款封裝的STM32F1ZET6則僅有微熱,環(huán)境溫度低的時候甚至感覺不到有溫度。
    根據(jù)兩者的不同特性我們可以按照不同應用來比較:
    在學習容易程度上:Arduino相對于STM32容易很多。
    要求的基本編程思想:Arduino:面向?qū)ο蟮念怌++、類Java為主,它的語言基于C但是又有些四不像。而STM32則以正統(tǒng)的C語言為主要開發(fā)語言。
    學習后獲得的知識上:Arduino弱于STM32。
    因為Arduino封裝了很多底層操作。除非自己嘗試編寫Arduino以及配套電路模塊的庫,否則還只是停留在基礎的編程上。
    開源程度上:用STM32做出來的東西想開源就開源,不想開源可以什么都不公布。
    外圍電路搭建難易程度:Arduino遠大于STM32。
    可拓展性:Arduino與STM32相當,Arduino基本上把控制器的大部分引腳都印出來了。
    成本,假設做出具有相同功能的東西:Arduino成本高于STM32。  
總結(jié)一下
    如果還不知道怎么選擇,這里給出選擇建議:
  • 如果你是對編程語言了解不深的大學層次以下的普通學生,建議上手Arduino
  • 如果C功底薄弱上來就搞STM32你會很快有放棄的念頭
  • 如果只是為了就業(yè)而學習,果斷STM32類單片機
  • 如果只是為了好玩而學習,本身非電子類專業(yè),沒有信心,建議Arduino
  • 如果編程功底好,建議STM32。搞定之后你看看Arduino開源社區(qū)做的東西,用STM32輕輕松松搞定
  • 當然如果有能力,兩者都接觸接觸,一般地一周不到Arduino的基本特性你就掌握了,以后有需要的話,可以很自如地移植Arduino代碼到STM32等MCU平臺上。
    其實這兩者其實針對的方向略有不同,Arduino一般電子愛好者和DIY的選擇,而STM32往往用于實際產(chǎn)品的研發(fā)制造。但是現(xiàn)在Arduino系列也能支持STM32的芯片,通過先下載Arduino固件,后就能使用Arduino的開發(fā)環(huán)境進行編程了。根據(jù)自己項目類型和需求選擇適合自己的才最重要。



回復

使用道具 舉報

131

主題

512

帖子

1666

積分

三級會員

Rank: 3Rank: 3

積分
1666
沙發(fā)
發(fā)表于 2021-4-3 11:54:55 | 只看該作者
需要做PCB線路板的可以聯(lián)系我

13651479995
回復 支持 反對

使用道具 舉報

lyl

1

主題

1119

帖子

3525

積分

四級會員

Rank: 4

積分
3525
板凳
發(fā)表于 2021-4-30 08:35:03 | 只看該作者
資料很好,學習學習
回復 支持 反對

使用道具 舉報

發(fā)表回復

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則


聯(lián)系客服 關注微信 下載APP 返回頂部 返回列表