Ⅰ、寫(xiě)在前面
學(xué)習(xí)STM32開(kāi)發(fā)難不難?
筆者的回答:不難?。?!
為什么不難?
1、ST提供了很多很好的資源,比如:標(biāo)準(zhǔn)外設(shè)庫(kù)、多種資料(包括多版中文的翻譯版資料)等。
2、很好的集成開(kāi)發(fā)環(huán)境Keil、IAR等。
3、網(wǎng)上很多有用的分享,包括筆者在內(nèi)的愿意把技術(shù)知識(shí)無(wú)償分享出來(lái)的人。
學(xué)習(xí)STM32開(kāi)發(fā)前途怎么樣?
筆者的回答:只要你技術(shù)能力夠強(qiáng),月薪上萬(wàn)不是問(wèn)題。
要學(xué)到什么程度才能找到相關(guān)工作?
1、首先要能靈活運(yùn)用C語(yǔ)言常用知識(shí)編程,也就是說(shuō)不要求精通,但要能靈活使用基本的語(yǔ)法(如:switch、for、break等),還需要對(duì)指針、結(jié)構(gòu)體等有一定的掌握。
2、你得有自己獨(dú)立開(kāi)發(fā)的項(xiàng)目,項(xiàng)目的大小可以看得出你部分能力。
3、對(duì)STM32基本外設(shè)有部分了解并親自寫(xiě)代碼驗(yàn)證過(guò)。
Ⅱ、筆者想說(shuō)的話
筆者覺(jué)得很多初學(xué)者不善于主動(dòng)去學(xué)習(xí),都是想利用現(xiàn)成的工程代碼。筆者覺(jué)得這樣學(xué)習(xí)的方法不會(huì)成就你今后的成功,人都有懶惰的一面,但現(xiàn)實(shí)就是這么殘酷,沒(méi)辦法,你不努力,別人就會(huì)超過(guò)你。現(xiàn)在大學(xué)生就業(yè)的情況,我們大家都應(yīng)該知道,可以說(shuō)是一年不如一年好了。每一年都有成千上萬(wàn)的大學(xué)生進(jìn)入社會(huì),你在這個(gè)領(lǐng)域不付出點(diǎn)努力,總會(huì)有人在這個(gè)領(lǐng)域付出努力。
如今社會(huì),不管是哪一行,競(jìng)爭(zhēng)都很激烈。如果你決定選擇了這一行,在不得已的情況下,請(qǐng)不要輕言說(shuō)放棄。因?yàn)槟惴艞壛司偷扔诜穸四惝?dāng)初的決定,你再去決定選擇另外一個(gè)行業(yè),說(shuō)不定今后你還會(huì)否定你當(dāng)初的決定,這樣會(huì)惡性循環(huán)下去。筆者的建議是:真正想想自己喜歡哪一行、適合哪一行,想好了再做決定。
關(guān)于學(xué)習(xí)STM32,筆者覺(jué)得它真的不難,需要的是我們的耐心,我們的努力。如果你當(dāng)初只是感覺(jué)喜歡學(xué)習(xí)STM32,那么請(qǐng)保持這份感覺(jué)。如果你在學(xué)習(xí)的時(shí)候遇到困難,失去這份感覺(jué)了,請(qǐng)你用不同的方法找回這份感覺(jué)。如果你想放棄這一行,請(qǐng)做好進(jìn)入另外一行的準(zhǔn)備。
Ⅲ、如何將工程(修改來(lái))運(yùn)行在自己開(kāi)發(fā)板上
可能很多朋友的開(kāi)發(fā)板、調(diào)試板上面主控芯片和筆者提供講解的工程實(shí)例不一樣,那么,只要是同一個(gè)系列(比如同為F4系列:你的是STM32F427IG、筆者的是STM32F417ZG),只要適當(dāng)修改一下工程配置就能使用了。
筆者告訴大家:STM32的兼容很好,有些工程可能不用修改,直接下載都能使用。(但是,作為學(xué)習(xí)盡量自己動(dòng)手驗(yàn)證、如果只是測(cè)試某個(gè)功能,可以直接下載測(cè)試)。
好了,說(shuō)了那么多,還是教大家如何使用我的工程:
1.了解筆者工程文件、工程結(jié)構(gòu)關(guān)系
筆者使用的文件和工程結(jié)構(gòu)如上圖所示的對(duì)應(yīng)關(guān)系。
文件結(jié)構(gòu)中Libraries就是提取ST官方的標(biāo)準(zhǔn)外設(shè)庫(kù),對(duì)應(yīng)添加到工程中(分為三類(lèi))。
文件中自定義的文件夾對(duì)應(yīng)工程的一個(gè)組。
第一類(lèi)(標(biāo)準(zhǔn)外設(shè)庫(kù)):
Startup Code:?jiǎn)?dòng)代碼
STM32F10x_StdPeriph_Driver:標(biāo)準(zhǔn)外設(shè)庫(kù)庫(kù)驅(qū)動(dòng)
CMSIS:標(biāo)準(zhǔn)接口
第二類(lèi)(用戶自定義):
Bsp:應(yīng)用底層代碼(初始化、驅(qū)動(dòng)等)
App:應(yīng)用實(shí)現(xiàn)代碼(配置OS、應(yīng)用等)
第三類(lèi)(描述):
Doc:ReadMe.txt描述文檔,不會(huì)執(zhí)行編譯
2.同系列修改型號(hào)
同一系列(我們以F4系列為例,其他系列F0、F1這些原理一樣)芯片的工程,如果資源都有,工程可以共用,只需要修改一下工程里的型號(hào)就行。
我們以F4工程為例,STM32F417ZG-> STM32F427IG修改方法如下三步驟。
參考工程下載地址:
https://yunpan.cn/cBQiZXDsvacwV 訪問(wèn)密碼 a98e
1.修改工程配置型號(hào)
project ->Options for Target -> Device 修改為自己芯片的型號(hào)
修改方式如下動(dòng)畫(huà):
2.修改源文件型號(hào)
筆者習(xí)慣在工程文件里面修改型號(hào),原因在于這里可以看見(jiàn)具體的型號(hào),也知道宏定義的名稱(chēng)(如:STM32F40_41xxx)。
其實(shí),這個(gè)宏定義在工程配置中也可以定義,根據(jù)自己習(xí)慣選擇定義。
修改方式如下動(dòng)畫(huà):
3.修改啟動(dòng)文件
啟動(dòng)文件和芯片型號(hào)對(duì)應(yīng)的關(guān)系,比較簡(jiǎn)單,如下動(dòng)畫(huà):
3.應(yīng)用相關(guān)
筆者提供的實(shí)例代碼都是簡(jiǎn)化了很多無(wú)用的代碼、比較基礎(chǔ)的、容易理解的,基本上都是提供LED、USART1、TIM延時(shí)這種在所以芯片都有的功能。
如果你LED不是筆者提供例程里面的,很簡(jiǎn)單,在bsp.h文件下改一下對(duì)應(yīng)IO口就行了。
如果你串口是使用USART2,只要usart.c文件下修改相關(guān)配置就行了。
-
ST
+關(guān)注
關(guān)注
32文章
1137瀏覽量
129103 -
STM32
+關(guān)注
關(guān)注
2271文章
10923瀏覽量
357219 -
開(kāi)發(fā)板
+關(guān)注
關(guān)注
25文章
5121瀏覽量
98036
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論