官术网_书友最值得收藏!

1.1.5 學(xué)習(xí)STM32需要哪些工具與平臺(tái),有什么好的學(xué)習(xí)方法

1.學(xué)習(xí)STM32所需的工具與平臺(tái)

在開始STM32學(xué)習(xí)之前,我們需要先挑選一塊合適的STM32開發(fā)板。初學(xué)者不應(yīng)盲目地追求開發(fā)板的功能,應(yīng)以夠用為原則,重點(diǎn)關(guān)注開發(fā)板配套的學(xué)習(xí)資料與視頻是否詳細(xì)、全面。目前市面上可供選購(gòu)的STM32開發(fā)板主要有兩種:最小系統(tǒng)板和外設(shè)齊全的開發(fā)板,分別如圖1-1-6(a)和圖1-1-6(b)所示。上述兩種開發(fā)板各有優(yōu)缺點(diǎn):從價(jià)格上來(lái)說(shuō),最小系統(tǒng)板比外設(shè)齊全的開發(fā)板便宜;從提升硬件電路的構(gòu)建能力來(lái)說(shuō),在使用最小系統(tǒng)板進(jìn)行學(xué)習(xí)時(shí),需要自行搭建外設(shè)的應(yīng)用電路,這有助于學(xué)習(xí)者更好地理解外設(shè)電路的原理,并能夠提高其電路板設(shè)計(jì)與制作的能力;從使用的便利性來(lái)說(shuō),外設(shè)齊全的開發(fā)板具有絕對(duì)的優(yōu)勢(shì),學(xué)習(xí)者使用這種開發(fā)板可以方便地完成芯片性能的測(cè)試、程序功能的驗(yàn)證以及想法創(chuàng)意的快速應(yīng)用。

圖1-1-6 STM32開發(fā)板

ST公司官網(wǎng)顯示,支持STM32開發(fā)的集成開發(fā)環(huán)境(Integrated Development Environment,IDE)有20余種,其中包括商業(yè)版IDE和免費(fèi)的IDE。目前比較常用的商業(yè)版IDE有MDK-ARM STM32和IAR-EWARM,免費(fèi)的IDE有SW4STM32、TrueSTUDIO和CoIDE等。另外,ST公司官方推薦使用STM32CubeMX軟件可視化地進(jìn)行芯片資源和管腳的配置,然后生成項(xiàng)目的源程序,最后導(dǎo)入IDE中進(jìn)行編譯、調(diào)試與下載。常見的支持STM32開發(fā)的IDE如圖1-1-7所示。

圖1-1-7 常見的支持STM32開發(fā)的IDE

2.學(xué)習(xí)STM32的方法

如果想在短時(shí)間內(nèi)上手STM32微控制器的開發(fā)(即“入門STM32”),初學(xué)者需要采用科學(xué)的學(xué)習(xí)方法,制定一個(gè)完善的學(xué)習(xí)計(jì)劃并嚴(yán)格按照計(jì)劃實(shí)施。

首先,不要把時(shí)間過(guò)多地花在猶豫上。人們?cè)趯W(xué)習(xí)一項(xiàng)新技術(shù)前,可能都會(huì)經(jīng)歷“猶豫期”。他們會(huì)先查閱資料,了解新技術(shù)并解決心中的一些疑問(wèn),如這個(gè)技術(shù)難不難、需要什么基礎(chǔ)、適合不適合自己等。適當(dāng)?shù)那捌谡{(diào)研是必要的,但過(guò)多地思索卻沒有實(shí)際行動(dòng)是永遠(yuǎn)不可能入門的。因此,如果你對(duì)STM32開發(fā)感興趣,那么請(qǐng)不要過(guò)多地猶豫,根據(jù)后面介紹的方法按部就班地開始學(xué)習(xí)吧。

然后,準(zhǔn)備好必需的STM32開發(fā)板、開發(fā)軟件和學(xué)習(xí)文檔。STM32開發(fā)板與開發(fā)軟件的選擇可參考前文,此外,我們還需要準(zhǔn)備以下幾個(gè)必備的學(xué)習(xí)文檔:一是《STM32F4xx中文參考手冊(cè)》,它介紹了STM32F4系列微控制器各種外設(shè)的工作原理;二是《STM32標(biāo)準(zhǔn)外設(shè)庫(kù)使用手冊(cè)》,它介紹了STM32標(biāo)準(zhǔn)外設(shè)庫(kù)函數(shù)API的調(diào)用方法和使用實(shí)例;三是某個(gè)型號(hào)的STM32微控制器的Datasheet,該文檔有助于我們了解MCU的電氣性能、管腳分布與外設(shè)功能;四是開發(fā)板生產(chǎn)廠商編制的產(chǎn)品使用手冊(cè)。

最后,一個(gè)很重要的環(huán)節(jié)是制定學(xué)習(xí)計(jì)劃。

(1)快速瀏覽一遍文檔

STM32開發(fā)涉及的文檔內(nèi)容很多,沒必要也無(wú)法一次性全部看完,但STM32開發(fā)的通用基礎(chǔ)部分必須得看,如存儲(chǔ)器和總線架構(gòu)、電源控制、備份寄存器、復(fù)位和時(shí)鐘控制、GPIO引腳及其功能復(fù)用、中斷等。具體某個(gè)外設(shè)的工作原理與使用方法在用到時(shí)再仔細(xì)閱讀即可。

(2)制定分階段目標(biāo)

STM32的學(xué)習(xí)過(guò)程可以分為以下3個(gè)階段。

第一階段是“找感覺”階段。拿到STM32開發(fā)板之后,先把廠家配套的開發(fā)板使用手冊(cè)瀏覽一遍,以熟悉開發(fā)板上的硬件組成。接下來(lái)可以按照使用手冊(cè)中與開發(fā)板配套的測(cè)試?yán)痰牟僮鞑襟E,操作一遍開發(fā)板。本階段的學(xué)習(xí)能讓你找到感覺并建立自信。

第二階段是“模仿”階段。在了解了STM32開發(fā)的基本流程之后,可以選取一些例程,詳細(xì)分析其工作原理與實(shí)現(xiàn)方法,并對(duì)例程的功能進(jìn)行修改,以達(dá)到不同的運(yùn)行效果。本階段的學(xué)習(xí)能讓你獲得成就感。

第三階段是“自由發(fā)揮”階段。在熟練掌握STM32的開發(fā)流程并具備一定的開發(fā)經(jīng)驗(yàn)之后,你可以選取并開發(fā)一個(gè)綜合性較強(qiáng)的小項(xiàng)目。在項(xiàng)目的開發(fā)過(guò)程中,應(yīng)嚴(yán)格按照實(shí)際的項(xiàng)目開發(fā)流程實(shí)施,不可遺漏一些重要的環(huán)節(jié),如需求分析、系統(tǒng)功能描述、程序流程圖繪制與軟件文檔編寫等。通過(guò)本階段的學(xué)習(xí),你將積累寶貴的項(xiàng)目開發(fā)實(shí)戰(zhàn)經(jīng)驗(yàn)。

經(jīng)過(guò)以上3個(gè)階段的學(xué)習(xí),你就可入門STM32微控制器的開發(fā)!

3.經(jīng)驗(yàn)之談

(1)遇到問(wèn)題怎么辦

先談?wù)剬?duì)待問(wèn)題的態(tài)度:遇到問(wèn)題時(shí)不要抱怨。俗話說(shuō)得好:出現(xiàn)問(wèn)題是給你學(xué)習(xí)的機(jī)會(huì)。因此解決問(wèn)題的過(guò)程可以促進(jìn)能力的提升。我們應(yīng)擺正態(tài)度,正視問(wèn)題。

另外,遇到問(wèn)題時(shí)不要馬上四處求助。當(dāng)問(wèn)題剛出現(xiàn)時(shí),你可能還無(wú)法看清問(wèn)題的全貌,也無(wú)法用最合適的語(yǔ)言將問(wèn)題表述清楚以使別人理解并做出回答。因此在遇到問(wèn)題時(shí),應(yīng)先查資料,自己嘗試解決問(wèn)題。

如果經(jīng)過(guò)一番分析,你仍然無(wú)法解決問(wèn)題且必須向他人請(qǐng)教時(shí),應(yīng)注意提問(wèn)題的藝術(shù),即不問(wèn)不具體的問(wèn)題。如“FreeRTOS如何移植?”這個(gè)問(wèn)題,需要非常大的篇幅才能闡述清楚,因此類似的問(wèn)題是需要避免的。換個(gè)角度,如果我們將項(xiàng)目實(shí)施過(guò)程中遇到的具體問(wèn)題提出來(lái)并向技術(shù)“大師”請(qǐng)教,有經(jīng)驗(yàn)的人可能幾句話就可以解答,因此這才是正確的提問(wèn)方式。

(2)學(xué)習(xí)過(guò)程中注意總結(jié)經(jīng)驗(yàn)

在STM32的學(xué)習(xí)過(guò)程中,可能會(huì)遇到很多問(wèn)題,你通過(guò)自己的努力解決了這些問(wèn)題,并獲得了成就感,但是過(guò)了一段時(shí)間你可能會(huì)忘記當(dāng)時(shí)的解決方法與步驟。因此在學(xué)習(xí)過(guò)程中,花一點(diǎn)時(shí)間進(jìn)行經(jīng)驗(yàn)總結(jié)是非常有必要的。如果我們能將總結(jié)文檔發(fā)布到博客中進(jìn)行分享,則可為遇到相同問(wèn)題的人提供幫助,何樂(lè)而不為呢?

主站蜘蛛池模板: 阿拉善左旗| 昔阳县| 鄂伦春自治旗| 中牟县| 霸州市| 镇远县| 勐海县| 山阴县| 福州市| 南汇区| 阜城县| 饶阳县| 五大连池市| 博爱县| 岚皋县| 伊宁市| 原平市| 手游| 石棉县| 鲁山县| 江阴市| 金秀| 秭归县| 柳江县| 宿松县| 盘锦市| 太原市| 靖西县| 奈曼旗| 德阳市| 辽阳县| 潞城市| 巴南区| 阜城县| 广州市| 莫力| 浦北县| 阿拉善盟| 凤凰县| 佛坪县| 邯郸市|