需要注意,CubeMX只是一個(gè)初始化工具,它只是幫你完成了HAL庫(kù)外設(shè)和時(shí)鐘的初始化,具體程序的編寫還需要查閱HAL庫(kù)的說(shuō)明,使用相關(guān)函數(shù)實(shí)現(xiàn)你想實(shí)現(xiàn)的功能。
CubeMX生成的代碼包含了豐富的注釋,為用戶規(guī)范編程提供了參考,如果后期還需要使用CubeMX更改時(shí)鐘或是添加新的外設(shè),用戶代碼必須寫在相應(yīng)注釋BEGIN和END之間,否則再次使用CubeMX生成代碼時(shí),未在指定位置的代碼會(huì)被刪除!
CubeMX可以幫助用戶初始化外設(shè),所做的操作在MX_XX_Init()中,但如果用戶在代碼中自行更改了MX_XX_Init()的內(nèi)容,再次打開 CubeMX,圖形化界面并不會(huì)同步用戶在代碼中對(duì)初始化部分所做的更改!
綜上所述,如果用戶希望在整個(gè)項(xiàng)目開發(fā)過程中一直使用CubeMX進(jìn)行初始化和對(duì)外設(shè)參數(shù)進(jìn)行修改,一是需要嚴(yán)格按照注釋的位置編寫代碼,二是不要在代碼層面改動(dòng)MX_XX_Init()的內(nèi)容,對(duì)外設(shè)初始化參數(shù)的修改要在CubeMX中進(jìn)行。
如果用戶只是希望使用CubeMX生成一個(gè)工程模板,后期新加外設(shè)或修改時(shí)鐘不再使用CubeMX工具,而是純使用代碼來(lái)實(shí)現(xiàn),則不需考慮代碼位置和CubeMX的初始化更改。
此文件夾下存放在.s啟動(dòng)文件,用戶一般不需要進(jìn)行更改。
Drivers/CMSIS文件夾:
存放CMSIS接口文件,用戶一般無(wú)需關(guān)心。
Application/User/Core文件夾:
main.c里面有main函數(shù),用戶程序從此處開始執(zhí)行;
xx.c關(guān)于外設(shè)的初始化函數(shù)MX_XX_Init()、外設(shè)結(jié)構(gòu)體等就在此處被定義;
stm32xx_it.c 中斷服務(wù)函數(shù)在此處被定義(其實(shí)也支持在別處復(fù)定義),用戶可以修改中斷服務(wù)函數(shù)來(lái)實(shí)現(xiàn)用戶需要的功能;
stm32xx_hal_msp.c 與初始化相關(guān),如果用CubeMX進(jìn)行初始化,一般也無(wú)需關(guān)心此文件。
Drivers/STM32xx_HAL_Driver文件夾:
HAL庫(kù)文件夾,里面存放這各個(gè)外設(shè)相關(guān)函數(shù),我們調(diào)用的函數(shù),也大多來(lái)自此處。
更重要的是,這里面也包含HAL庫(kù)相關(guān)外設(shè)的使用說(shuō)明書,以stm32f1xx_hal_gpio_ex.c為例,在庫(kù)函數(shù)的前面會(huì)有大篇幅的介紹,介紹如何使用這個(gè)外設(shè),實(shí)現(xiàn)什么功能需要調(diào)用什么函數(shù),非常貼心。
-
STM32
+關(guān)注
關(guān)注
2270文章
10905瀏覽量
356447 -
代碼
+關(guān)注
關(guān)注
30文章
4796瀏覽量
68706 -
HAL
+關(guān)注
關(guān)注
2文章
71瀏覽量
12633
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論