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