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語言為主要開發語言。
學習后獲得的知識: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的開發環境進行編程了。根據自己項目類型和需求選擇適合自己的才最重要。
責任編輯:haq
-
單片機
+關注
關注
6032文章
44516瀏覽量
633032 -
STM32
+關注
關注
2266文章
10871瀏覽量
354812 -
Arduino
+關注
關注
187文章
6464瀏覽量
186651
原文標題:用STM32該鄙視Arduino嗎?
文章出處:【微信號:c-stm32,微信公眾號:STM32嵌入式開發】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論