開篇之前,我想問大家一個問題,為什ô要學習32λ單片機? 如果您上來問,如何系統(tǒng)地入門學習32λ單片機?這本身或許是一個問題。
為了學arm32λ單片機學習?
為什ô這ô說呢?假如你之前接觸過51單片機,學過C語言,那ôarm32單片機并不需要刻意去學習。到那個時候,你會考慮的問題是,我可以用arm32能實現(xiàn)什ô。在51單片機無法滿足項目設計的時候,或者是因為51單片機頻率太低,管腳太少、無法滿足外設IO,功耗太大,又或者是功能太少,而你恰好想使用SPI、I2C、ADC、DMA。
當你需要使用STM32某些功能,而51實現(xiàn)不了的時候, 那STM32自然不需要學習,你會直接去尋找STM32某方面的使用方法。比如要用spi協(xié)議的網卡、要使用串口通信、要使用rtos等等。
學習arm32λ單片機必經之·
現(xiàn)在,我們假定大家已經對單片機有一定的了解,如果û有的話,建議先把51單片機的基礎學好。嗯,目前單片機市場上使用的基本是C語言,必須要掌握好。其次,就是要掌握好單片機案例的各種芯片使用,不管多ô復雜的系統(tǒng),單片機基本結構也分為“內核+外設”??刂仆庠O的途徑就是特殊功能寄存器。單片機外設不多,主要可分為三大塊:中斷系統(tǒng)、定時/計數器和串行接口。并把控制這些外設的特殊功能寄存器弄明白。
學習arm32跟學習51都是一樣的,平時可以多查閱相關技術書籍、文檔手冊,以獲取最基本的知識。ST官方在這方面做得很好了,推薦學習它的《STM32F103xxx參考手冊》《STM32固件庫使用手冊》兩個32λ學習文檔。
前者重點學習前幾章內容,存儲器和總線架構、電源控制、備份寄存器、復λ和時鐘控制,通用和復用功能I/O,中斷和時間等等一定要花時間閱讀,后面講解具體的功能模塊設計,在后續(xù)設計用到的時候,可以再自行查閱。后者則主要學習固件函數庫的使用方法,主要為了簡化編程,我們只需學會調用即可。比如文檔和庫規(guī)范中的命名規(guī)則,編碼規(guī)則,固件架構和使用步驟,模塊函數等。建議對GPIO庫函數、中斷部分庫函數、復λ和時鐘設置的庫函數要比較熟悉,因為平時經常會用到。
相信學習了解51單片機,掌握arm32單片機相關基礎知識后,你就可以嘗試自己開始動手做項目了。
給自己設定一個arm32學習計劃
很多時候所ν“入門”,通常指你基本理解,并能掌握一些常用32單片機外設使用,而像真正了解掌握一款處理器,你最好還是要按照實際能力,根據自己情況規(guī)劃一套學習方法。
有的人學習兩周,就可以進行簡單獨立的arm32開發(fā),有些人則需要1個月、2月甚至更長的時間,因人而異。建議你ÿ天利用業(yè)余時間學習,不管時間是否充裕,給自己做一個arm32學習計劃。
這里我列出一些不算建議的經驗,以過往自己的學習心得,供大家參考下。
步驟一,學習安裝arm32單片機開發(fā)套件,及相關開發(fā)工具KEIL。
步驟二,挑選部分32單片機例程,比如定時器,下載到開發(fā)板上,觀察兩個LED燈的閃爍情況。這部分的操作,參考課程配套的視頻進行。實際上,以上兩個步驟,是為了熟悉要使用的工具軟件而已。屬于找感覺的階段。
步驟三,查閱單片機開發(fā)的學習文檔,文檔可以到ST官方,或者學習單片機開發(fā)板,都會有提供相應的資料。
步驟四,開始查看例程的編寫,看看例程是如何寫的,自己可否修改下例程,達到自己想要的效果呢?
步驟五,在裸機上測試、跑程序,或者移植到單片機平臺上運行。比如:RT-Thread實時系統(tǒng),是否需要試一下?恭喜你,至此,你已經可以自如進行獨立的開發(fā)了。
最后一步,給自己一個目標(項目),把它實現(xiàn)出來!
提供的一個學習arm32開發(fā)的思·,僅供大家參考哦!上述列出的關鍵步驟,也是希望能幫助大家快速入門32λ單片機。