STM32是意法半導體的產品,意法半導體(ST)集團於1988年6月成立。1998年5月,將公司名稱改為意法半導體有限公司,是世界最大的半導體公司之一。STM32系列是專為需要高效能、低功耗的嵌入式系統所專門設計的ARM Cortex核心。
STM32與Arduino都是屬於單晶片,單晶片根據維基百科的定義單晶片,全稱單晶片微電腦,又稱微控制器單元(microcontroller unit),是把中央處理器、儲存器、定時/計數器(timer/counter)、各種輸入輸出介面等都整合在一塊積體電路晶片上的微型計算機。與應用在個人電腦中的通用型微處理器相比,它更強調自供應(不用外接硬體)和節約成本。它的最大優點是體積小,可放在儀表內部,但儲存量小,輸入輸出介面簡單,功能較低。由於單晶片微電腦常用於當控制器故又名single chip microcontroller。台灣稱為「單晶片」;中國則主要採用「單片機」,英文縮寫為MCU。
兩者概念上沒有什麼差別,那為什麼我們要學習STM32呢?
Ans:因為效能以及STM32擁有更多的功能舉例來說:STM32的TIMER有encoder mode,可以將方波直接做處理,對於馬達控制非常方便。不過嚴格來說Arduino是一個開源的電子開發原型平台。其包含硬體開發版和軟體IDE和各種開發生態。所以Arduino是一个集合了硬件和软件的综合体。
,而他上面的微控器是ATmega328p,但我們姑且將Arduino與STM32當作是相同的東西。
哈哈~那沒有差異為什麼我們還要學習STM32呢?其實還是有差的,那就是這兩者的定位不同,Arduino對硬體底層做了大量的封裝,適合給初學者使用。例如機器人的開發測試:你要測試氣壓感測器的輸出值時,使用Arduino 的analogRead(),會比你用STM32的ADC功能來的快多了;不過當需求更大時,包括對計算速度以及硬體操縱的要求更嚴苛的時候,STM32就會比Arduino更適合你。
在這裡我們不對這兩者所使用的單晶片進行硬體上的比較,只簡單的舉幾個例子來讓你了解功能上的差異。
這個教學當中使用的是STM32F429ZI這個開發版
Z表示的是144個Pin,其他還有像I、C、R等字母,詳見下表
代碼 | Pin數量 |
---|---|
C | 48 |
R | 64 |
V | 100 |
Z | 144 |
I | 176 |
B | 208 |
N | 216 |
I指的是快閃記憶體(Flash memory)大小 | |
代碼 | Code Size(KB) |
--- | --- |
0 | 1 |
1 | 2 |
2 | 4 |
3 | 8 |
4 | 16 |
5 | 24 |
6 | 32 |
7 | 48 |
8 | 64 |
9 | 72 |
以我們以後會使用的F429ZI來說,它的快閃記憶體是STM32系列當中最大的,大小為2MB。 |
更詳細的命名方式
今天我們簡單比較了一下Arduino以及STM32,並對STM32有了初步的認識,明天我們就要來準備實際使用這塊開發版啦!