前言 學習知識要掌握有效的學習方法,學習技術也是一樣,本篇分享關於我學習 STM32 後總結的學習方法。 推薦的學習方法 系統學習 在網上購買一款開發板,使用開發板+開發板配套視頻教程+開發板配套源碼+晶元官方手冊搭配學習。 安富萊、正點原子、野火,這三家公司研發的開發板都挺不錯,可自由選擇一款作為 ...
前言
學習知識要掌握有效的學習方法,學習技術也是一樣,本篇分享關於我學習 STM32 後總結的學習方法。
推薦的學習方法
系統學習
在網上購買一款開發板,使用開發板+開發板配套視頻教程+開發板配套源碼+晶元官方手冊搭配學習。
安富萊、正點原子、野火,這三家公司研發的開發板都挺不錯,可自由選擇一款作為學習使用。
拒絕做伸手黨
要學會如何學習,如何解決問題,拒絕做伸手黨。
在學習過程中遇到問題,應先嘗試自己查資料或上網搜索進行解決,找資料的過程中看看別人的理解思路。如果在查資料或搜索後並沒有找到滿意的答覆,這時便可以尋求大佬的幫助向大佬提問(文末附有大佬雲集的論壇網站鏈接)。
不經過思考的提問,對自己沒有提升。學習技術的過程中,如果你只會做伸手黨,那將什麼都學不到。
拿到開發板後如何入手
- 先看提供的開發板配套資料的目錄,瞭解配套資料的情況
- 找到核心的學習資料,大致瞭解開發板硬體資源
- 查看資料,安裝開發環境
- 開啟學習之旅,先學基礎的,基礎要多學多問
- 高級的知識,可以慢慢來學
- 學習過程中不懂的,要先查資料,然後提問
需要參考哪些資料
- 最底層(瞭解):CM3 權威指南 / CM4 權威指南(ARM 提供 )
- 晶元參考手冊(晶元功能寄存器描述特性等)(詳細瞭解):STM32F10x 中文參考手冊 / STM32F4x 中文參考手冊(ST 提供)
- 晶元數據手冊(datasheet,ds)(瞭解):STM32F103xCDE_DS_CH_V5.pdf(晶元電氣參數,引腳說明等)
- 官方其它資源和教程(瞭解):固件庫包(含參考源碼),一些官方培訓 PPT(通過 ST 官網獲取)
- 你所購買開發板的學習教程(手冊,視頻,源碼)(理解):針對開發板的源碼,教程,視頻等,要將源碼的涵義吃透(開發板商家提供)
需要掌握哪些基本技能
熟練掌握 C 語言
C 語言是嵌入式開發的基礎中的基礎,大多數嵌入式項目的開發都是用 C 語言來編寫的,如果 C 語言不過關,將會大大限制嵌入式學習的進度,以及嵌入式學習的深度。
熟練掌握一種開發環境與調試工具
在這裡強調的是一種開發環境與調試工具,現在市面上供我們選擇的開發環境和調試工具有很多,但我們只需熟練掌握一種就好啦,精通一種後其餘的在以後也容易上手。
- 掌握一種開發環境:Keil uVision5(MDK-ARM)
- 掌握一個調試工具:JTAG (必備)
MDK-ARM 軟體為基於 Cortex-M、Cortex-R4、ARM7、ARM9 處理器設備提供了一個完整的開發環境,MDK-ARM 專為微控制器應用而設計,不僅易學易用,而且功能強大,能夠滿足大多數苛刻的嵌入式應用。
市面上關於 STM32 的視頻教程中,絕大多數都是使用 MDK-ARM 進行教學的,這裡我也推薦大家使用並熟練掌握 MDK-ARM。
我們處在初學階段時基礎不夠扎實,對於開發板配套源碼或自己編寫的代碼千萬不要走馬觀花的看,一定要多使用 JTAG 調試代碼,深入理解代碼執行的流程,做到深入理解代碼的涵義。
寄存器、標準庫、HAL 庫如何選擇
標準庫和 HAL 庫任選其一,或兩個一起學習,然後與寄存器對比著學習。
項目中大多數用標準庫或 HAL 庫,但是作為學習,如果只會看幾個函數的話,那麼你根本就沒有學懂,遇到問題很難自己解決,所以有必要瞭解一下寄存器的配置原理,加深對底層驅動的理解。
掌握標準庫或 HAL 庫的基本配置方法,瞭解寄存器底層配置過程,以便深入理解 STM32 晶元的本質。
深入學習基本外設,選擇性學習高級功能
基本外設
單片機主要學習的就是單片機內部的四大基本外設,分別是 GPIO 輸入輸出、外部中斷、定時器和串口通信(串列 I/O 口),理解掌握了這四個外設,基本就入門了一款 MCU。
基本外設介面
這些外設介面功能原理對每個晶元幾乎都是一樣,對晶元而言就是加減法而已。
SPI,IIC,WDG,FAMC,ADC/DAC,SDIO 等。
高級功能
UCOS,FATFS,EMWIN 等,以及一些應用。
論壇網站推薦
下麵推薦幾個國內頂尖的 STM 論壇網站,可通過網站獲取資源,在學習過程中遇到的問題也可以在上面進行提問,會有大佬在論壇進行解答,當然如果你自己就是大佬,也可以在論壇中為嵌入式小白們解答問題。
後記
因為目前我對 STM32 的學習還不夠深入,理解也不夠透徹,所以如果文中有表述不清晰或觀點不正確的地方,還請大佬批評指點。
本文作者:main工作室
本文鏈接:https://www.cnblogs.com/main-studio/p/17058346.html
版權聲明:本文為「main工作室」的原創文章,遵循 CC BY-NC-ND 4.0 版權協議,著作權歸作者所有,轉載請註明出處!
鼓勵博主:如果您覺得文章對您有所幫助,可以點擊文章右下角【推薦】一下。您的鼓勵就是博主最大的動力!