如何系統地入門學習stm32?

時間 2021-06-01 03:44:24

1樓:無際微控制器

我從事微控制器開發多年,用過非常多晶元,有stc、中穎、GD、新唐、BLE、Zigbee、NXP、還有一些中國產SOC等等,唯獨ST的讓我最省心,不管是STM8還是STM32。

省心只要是體現在穩定,只需要按照常規方法配置就不會有亂七八糟奇奇怪怪的問題出現。

之前碰到過最蛋疼的晶元,有些Flash會掉資料,有些串列埠不穩定,最後還得用程式來規避晶元的不人性化,明明1個小時能搞定的,硬是給這些奇怪的問題拖了幾天。

如果說在樣品階段測試出來還好,如果是大批量才慢慢出現這些問題,估計老闆撕了你的心都有。

所以在成本要求不是特別苛刻的情況下,我一般都會用ST的。

STM32對剛入門的不是那麼友好,但是對有一點開發經驗的,還是能大大縮短開發周期的。

那新手要如何去學習STM32呢?無際根據自己的經歷總結出最有建設性的學習方法,如果你能適應這種學習方法,1周搞定stm32絕對沒問題!

1.改變思維

當你有系統學習stm32的時候,就注定你會走很多彎路,甚至浪費很多時間最後也學不會。

因為內部結構越複雜的微控制器,你學習需要花費的時間就越多。

但是你有沒有想過,你學微控制器的目的是什麼?

肯定不可能只是為了學微控制器這麼簡單對吧?而是通過微控制器來做產品,或者說DIY一些有趣的專案。

人的一天真正高效工作學習的時間或許8小時都不到,我們怎麼利用好這8個小時直接決定你和別人的差距。

比如說我做一件事,我會拆解完成這件事我要做哪些工作,然後把最核心的環節拿出來優先做,就像做產品,先實現功能再優化細節。

同樣的方法用在學習stm32也很合適,stm32在整個產品當中其實只是乙個工具而已

既然是工具,那當然是能用起來就行了,無非就是用晶元的外設而已,你系統的去研究它幹嘛?

2.正確學習姿勢

我一直都比較提倡新手從51微控制器學起,把精力放在c程式設計和培養專案思維上,與其有空去深挖微控制器,還不如多做幾個專案。

我剛開始是使用stc的晶元做過幾個專案,然後產品需要接觸到stm32。

我先把產品需要用到的微控制器外設整理出來,再買乙個開發板,然後把我要的外設先在開發板上跑一遍。

同乙個例程我會改一些引數,比如說換個引腳、換個定時時間、換個串列埠,換個ADC通道,DMA通道等等。

大概知道知道怎麼配置以後,我就不會再去研究別的功能了,比如內部時鐘樹架構,USB、CAN、FSMC這些。

照樣不影響我把產品做出來,慢慢地我經驗也豐富了,對stm32也熟悉了,就是這麼自然而然的過程。

3.最後總結

乙個新鮮事物,我認為正確的順序應該是先用起來,用熟了你再去研究它原理會事半功倍。

2樓:電子小C

如果學過51,再學習32就會快很多。

你可以先使用暫存器的方式進行開發寫程式,與51差不多,只是32的暫存器多了一些。

在對32有了一定的了解後,可以試試使用庫,或是cubemx來開發,會快很多。但效率就不一定了。

最好是有一塊板子。跑跑例程,STM32入門100步

3樓:數學之聲

建議從STM32F103開始學,資料最多,結構也簡單。大一的話建議從暫存器+彙編的方式開始學習。每個功能的作用,如何通過配置暫存器實現。

然後研究一下晶元的啟動過程。之後再用標準外設庫和HAL函式。想系統的學,這是最難,但也是最快的路。

如果想深入研究就去看《CORTEX-M3權威指南》向核心方向研究。

4樓:annic

才大一,問什麼不好好上課做實驗,然後自己參加一些大學生競賽,比如全國大學生智慧型互聯創新大賽http://www.

stmcu.com.cn/contest

這個是用STM32的,好好參賽,既能學到東西,如果獲獎還可以對以後保研工作有好處。

5樓:雙人餘

同意 @劉金承 ,「所謂的系統學習,是要你好好學習模電,數電,微機原理等等專業基礎課」,所以現在學習32更多是為了使用它。我猜題主主要還是想用來參加比賽吧。如果只是為了拿獎保研的話,專心研究庫函式,研究該例程就行了。

但是,32這麼好的東西,真要學好的話,真的能提公升對相應專業課的理解啊。如果真的要學好32的話,積累相應的數電模電知識(現在不用追求系統性啊,要用什麼記點什麼)之外,關鍵要學會看參考手冊。學會看參考手冊也意味著你可以很快上手其他型別的控制器了。

然後野火原子的書可以參考下,但是還是以官方文件為主啦。與君共勉,加油

6樓:

資深微控制器工程師,現在大學任教嵌入式課程,如果你把stm32當成微控制器原理來學,那就太膚淺了,學號控制類cpu程式設計,功夫在課程之外,也就是說電路電子基礎要好,你才能正確領悟stm32內部特性,例如ad取樣時間的選擇,沒有電子基礎很難理解

7樓:comm2008

首先對微控制器的結構和原理要清楚,對ARM CORTEX M的架構和原理也要理解。然後,多做專案,配合晶元手冊,入門還是蠻容易的。提高也是可期的。

8樓:

搞個溫度計,整個計算器,插上記憶體卡,做個p3吧。

demo由小及大,要學會整合和使用庫,rtos什麼的原始碼抽空多學習一下。暫存器什麼的真沒必要浪費太多時間,暫存器也算是庫的一種啊,了解原理即可

初學STM32,該怎麼進行系統的學習?

TONY老師 我準近期寫一篇stm32的文章,幫助小白進場。我本身做了十年的stm32了,全部都是自學,學的還湊合,不算深奧。建議買個開發版,上面有很多很多的例程,每個例程涉及的內容,在文件中都會寫的很清晰。看不懂的,就不要追究。正點原子的開發版。 snowdream 在知乎上,個人也回答了很多關於...

STM32程式如何加密更安全?

meijc119 1,如果板子上有外部儲存器,可以先編寫乙個程式,利用演算法把id計算得到一些值存入外部儲存器,然後再燒寫真正的程式,真正的程式去校驗外部儲存器的資料是否合法即可 2,利用板子上按鍵組合,或是上電按住某些鍵,程式在這個時候利用演算法把id計算得到一些值存入程式區 stm8為EE區 程...

stm32零基礎怎麼兩周入門,應該怎麼安排?

小魚兒 兩周入門不可能的,兩個月還差不多。乙個上百萬個電晶體的微控制器,你兩周入門,微控制器不要面子的嗎?微控制器說,我不要門檻的嗎? 漫漫長河 別想2周搞定。一口吃個大胖子嘛,不可能。其他人的都說了,我就補充學點電路基礎,了解設介面電路,微控制器還是要懂點硬體才行。這對除錯很重要 幹哈 入門其實很...