01
前言
在STM32之前,都是老大頭51,帶著它的“小弟們” 、AVR、PIC在單片機界呼風喚雨。
那個時候,市場上遍布8位機,大學教材用51入門,個人、企業學單片機基本上也都在用51。
雖然AVR也有一些8位機市場,但與stc帶領下的51單片機是完全不能相比的。
當然,這個時候也有16位機的,其他廠家單片機還有pic,高端嵌入式處理器等市場有arm7、arm9等。
這個時期的單片機市場是百花齊放、百家爭鳴,但總體來說,還是勢均力敵、一片祥和的。
那么,這個局勢是從什么時候開始打破的呢?這還得從物聯網的崛起說起。
02
原因
當時,物聯網( of ,IoT)逐步進入人們的視野范圍。隨著它的發展,嵌入式領域對于高性能處理器的需求呈現爆發式增長。
雖然8位CISC(復雜指令)架構內核8051占據了半壁江山,但奈何其性能低下,尋址范圍受限,已經難以適應更多的新興應用領域。
而32位架構微處理器內核憑借其極佳的執行效能,不僅能滿足物聯網對數據處理能力的要求,還能兼顧物聯網的低功耗和高性能要求,斬獲物聯網市場的獨家寵愛。
在32位架構微處理器中,屬ARM公司推出了面向各類嵌入式應用的微控制器核-M內核受到市場青睞,-M之于32位MCU就如同8051之于8位MCU。
而正是-M的出現,讓ST公司看到了這個內核的強大之處——利用該內核設計了大放光芒的STM32,打破了曾經的單片機局面。
03
崛起過程
如今,我們往回看那段歷史,會發現一切改變都由那時發生——
從2007年6月11日推出第一代STM32產品——-M MCU 開始,單片機市場迎來了STM32新星,32位MCU浪潮,如期而至。
此后,芝麻開花節節高,STM32成功的故事也一直在延續。
ST公司陸續在每一年都基于新的內核或者新的技術領域有所突破,發布超過了19個STM32 產品系列,包括一個MPU產品線,生產工藝也從180nm不斷進階到110nm、90nm和40nm。
例如:
2009年推出了全球第一款超低功耗系列STM32 L1;
2010年推出了第一款在高性能的基于90納米工藝、120 MHz 的產品線;
2011年推成第一款高性能-M4的處理器;
......
2019年推出全球最為強大的第一款雙核處理器、最新一代混合信號-M4 MCUs和世界上最大的MCU ;
2020年推出全球首顆內置LoRa收發器的SoC——。
“一只南美洲亞馬遜流域熱帶雨林中的蝴蝶,偶爾扇動幾下翅膀,可以在兩周以后引起美國德克薩斯州的一場龍卷風。”
STM32這只小蝴蝶帶來的改變效果也很明顯。
2007年ST公司的通用MCU全球排名還只是第11位,2015年便上升到第3位,2018年上升到第2位,2018年則在中國供應商的排名中ST公司一舉拿下第一的高地,此后數年,ST的地位幾乎無人撼動。
04
如何學習
入坑STM32后,我們應該如何學習?
如今,STM32堪稱爆火,并且潛力無窮。所以,有很多人都在學STM32。
但STM32對入門者可能不是特別友好,因為知識很多,但是對于有一定開發經驗的人來說,就是一把好兵器,它能幫你大大縮短開發周期。
那應該如何入坑STM32呢?
(1) 根據時間表定時定量學習
大學時期,都有實驗室的學長學姐帶著入門,安排任務。
比如,基本任務是一周內學完搭好環境、熟悉調試軟件,結合《參考手冊》、《STM32固件庫使用手冊》和光盤視頻,實現基本篇的GPIO應用。
(2) 舉一反三,并通過階段任務檢查學習效果
在學習例程時,可以嘗試修改該例程的外設配置,達到舉一反三的效果。
每一周,學長學姐會根據你的學習進度,安排給你一個階段任務,用來檢查你的學習效果。
如果你是自學,那么可以根據網上教程和各大資源網站上的“STM32入門小項目合集”,主動給自己找一個小項目,把它實現出來。
這里我推薦正點原子的資源,畢竟每次看視頻時的片頭曲“我的未來不是夢”讓我對STM32充滿激情,當然野火、小苗、普中也不錯~
(3) 基本外設、功能會用就行,后期需要什么再去針對性地學
按部就班地把STM32知識從頭到尾系統性地學習完,固然很好。但是微處理器與外設大學教程,你要知道學習單片機只是為了解決問題,我們只要在遇到問題時,能夠通過STM32解決就行。
因此,當你把基本外設、功能都差不多掌握了,程序能跑起來微處理器與外設大學教程,并且也知道哪里可以修改、修改成什么就已經基本入門了。
此后,你可以通過一些大大小小項目,鞏固理解和探索新功能,你的經驗也隨之增加。
(4) 學好C語言,可以學著畫PCB制板、焊接
軟件和硬件都要兩手抓。C語言對于STM32的學習至關重要,C語言不好,還跑什么代碼?學會畫板子、焊板子,這樣有什么需求,都可以自己添加。
當然,上面的建議都是給0基礎的STM32入門者,若是你有一定基礎,那當然是對癥下藥,哪里不會補哪里。
05
學海無涯,勇于探索新技術
“學海無涯、永無止境”,更何況是每一年都在推陳出新的STM32。
事實上,STM32 的開發方式已經發生了很大的變化。
比如:
2014 年,ST 公司推出了 HAL 庫和 MCU 圖形化配置軟件。
2017 年年底,ST 公司收購了 公司,把專業版 轉為免費軟件。
2019 年 4 月,ST 公司正式推出了自己的 STM32 程序開發 IDE 工具軟件 ?IDE1.0.0,打造了一個完整的 生態系統。
而 生態系統已經完全拋棄了早期的標準外設庫,STM32 系列 MCU 都提供 HAL固件庫以及其他一些擴展庫。
生態系統的兩個核心軟件是 和,且都是由 ST 官方免費提供的。
使用 可以進行 MCU 的系統功能和外設圖形化配置,可以生成 項目框架代碼,包括系統初始化代碼和已配置外設的初始化代碼。
如果用戶想在生成的 初始項目的基礎上添加自己的應用程序代碼只需把用戶代碼寫在代碼沙箱段內,就可以在 中修改 MCU 設置,重新生成代碼,而不會影響用戶已經添加的程序代碼。
由此看來,使用 和 進行STM32 開發是一個良好的組合方式!
-END-