STM32CubeMX是很多朋友必備的一個工具。
1寫在前面
從公眾號后臺、微信給我留言的問題可以看得出來,使用STM32CubeMX這個工具的人有很多。
那么,使用STM32CubeMX進(jìn)行配置、開發(fā)時,相信大家都需要過各種各樣的問題。
我也不例外,我是15年開始使用STM32CubeMX這個工具,這些年來陸陸續(xù)續(xù)也遇到過很多問題,特別是剛開始的時候,感覺整個人都不好受。但是,好在我把遇到的問題多逐步解決了。
今天,和大家說說:如果你選擇STM32作為硬件平臺,你有必要學(xué)習(xí)一下STM32CubeMX這個工具。
2
入門有必要選擇STM32Cube HAL庫開發(fā)嗎?
這里我給的答案是:No
這個問題見仁見智,但是從關(guān)注我公眾號的讀者朋友中,我綜合給出的答案是No.
原因:很多朋友的基礎(chǔ)還是偏弱。
HAL這套庫是需要有一定數(shù)據(jù)結(jié)構(gòu)功底的朋友來學(xué)習(xí)。簡單說,你需要對指針、結(jié)構(gòu)體、回調(diào)函數(shù)等這類C語言知識有一定掌握才行。
使用過STM32Cube進(jìn)行開發(fā)的朋友都應(yīng)該經(jīng)歷過這過問題:一旦底層有問題,去找這個問題相比SPL(標(biāo)準(zhǔn)外設(shè)庫)要難得多。
當(dāng)然,如果你對HAL這套庫比較了解的話,其實(shí)難度也不大。
所以,我的建議是:如果你數(shù)據(jù)結(jié)構(gòu)功底不好,可以先從寄存器、標(biāo)準(zhǔn)外設(shè)庫開始,當(dāng)你基礎(chǔ)知識累計(jì)一定程度,可以轉(zhuǎn)向STM32Cube HAL開發(fā)。
3
有必要學(xué)習(xí)一下STM32CubeMX
當(dāng)然,上面給出的入門建議不是說不鼓勵大家去學(xué)習(xí)一下STM32CubeMX。這節(jié)說的就是你有必要學(xué)習(xí)一下STM32CubeMX。
學(xué)習(xí)STM32CubeMX的目的:你會有意想不到的收獲。
上面我說了,我也是踩了很多坑過來的,但一路過來,我發(fā)現(xiàn)其實(shí)我收獲還蠻大的。
包括很多基礎(chǔ)的問題,可能你之前從來沒了解過。這里也羅列一些問的較多的問題吧。
1.中文路徑
在生成MDK-ARM工程時,中文路徑會出錯:
看英文提示:在...路徑下生成工程出現(xiàn)錯誤。
2.自己寫的代碼,重新生成會被刪除
這里需要進(jìn)行配置,并且你的代碼需要在指定位置(BEGIN --- END內(nèi))。
這樣,當(dāng)你重新生成工程時,這些代碼就不會被刪除。
3.警告
這里看一下提示就知道:大概意思就是多了一個括號。
4.__weak弱定義
很多朋友可能之前都沒有見過【__weak】這個關(guān)鍵字,它有“弱”的意思。
這里的意思就是說:如果你自己寫一個同樣的函數(shù)(HAL_UART_MspDeInit),那么,這里帶有weak關(guān)鍵字的函數(shù)就不起作用。
還有,有朋友問:不知道工程中很多UNUSED函數(shù)是什么意思。你自己看一下注釋就知道,它的為了防止編譯警告,“未使用的函數(shù)”。
只要你愿意去發(fā)現(xiàn)問題,并解決問題,你就有收獲。
4總結(jié)
1.遇到問題,看提示找問題。
幾個英文單詞不認(rèn)識的話,翻譯工具應(yīng)該知道吧。久而久之你會發(fā)現(xiàn)有些問題都不是什么問題。
2.使用STM32CubeMX之后,你會發(fā)現(xiàn)你掌握了更多之前沒有掌握的知識。
上面舉的幾個例子,相信肯定有朋友不知道的這些知識,我們學(xué)習(xí)都是一個積累的過程。
3.不要一來就問有沒有捷徑,遇到一點(diǎn)小問題都不去面對,永遠(yuǎn)沒有捷徑。
-
STM32
+關(guān)注
關(guān)注
2270文章
10895瀏覽量
355734 -
代碼
+關(guān)注
關(guān)注
30文章
4779瀏覽量
68521 -
數(shù)據(jù)結(jié)構(gòu)
+關(guān)注
關(guān)注
3文章
573瀏覽量
40123
原文標(biāo)題:用心來學(xué)習(xí)STM32CubeMX,你會有不一樣的收獲!
文章出處:【微信號:mcuworld,微信公眾號:嵌入式資訊精選】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論