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