需要注意,CubeMX只是一個(gè)初始化工具,它只是幫你完成了HAL庫(kù)外設(shè)和時(shí)鐘的初始化,具體程序的編寫(xiě)還需要查閱HAL庫(kù)的說(shuō)明,使用相關(guān)函數(shù)實(shí)現(xiàn)你想實(shí)現(xiàn)的功能。
CubeMX生成的代碼包含了豐富的注釋?zhuān)瑸橛脩?hù)規(guī)范編程提供了參考,如果后期還需要使用CubeMX更改時(shí)鐘或是添加新的外設(shè),用戶(hù)代碼必須寫(xiě)在相應(yīng)注釋BEGIN和END之間,否則再次使用CubeMX生成代碼時(shí),未在指定位置的代碼會(huì)被刪除!

CubeMX可以幫助用戶(hù)初始化外設(shè),所做的操作在MX_XX_Init()中,但如果用戶(hù)在代碼中自行更改了MX_XX_Init()的內(nèi)容,再次打開(kāi) CubeMX,圖形化界面并不會(huì)同步用戶(hù)在代碼中對(duì)初始化部分所做的更改!
綜上所述,如果用戶(hù)希望在整個(gè)項(xiàng)目開(kāi)發(fā)過(guò)程中一直使用CubeMX進(jìn)行初始化和對(duì)外設(shè)參數(shù)進(jìn)行修改,一是需要嚴(yán)格按照注釋的位置編寫(xiě)代碼,二是不要在代碼層面改動(dòng)MX_XX_Init()的內(nèi)容,對(duì)外設(shè)初始化參數(shù)的修改要在CubeMX中進(jìn)行。
如果用戶(hù)只是希望使用CubeMX生成一個(gè)工程模板,后期新加外設(shè)或修改時(shí)鐘不再使用CubeMX工具,而是純使用代碼來(lái)實(shí)現(xiàn),則不需考慮代碼位置和CubeMX的初始化更改。

Application/MDK-ARM文件夾:
此文件夾下存放在.s啟動(dòng)文件,用戶(hù)一般不需要進(jìn)行更改。
Drivers/CMSIS文件夾:
存放CMSIS接口文件,用戶(hù)一般無(wú)需關(guān)心。
Application/User/Core文件夾:
main.c里面有main函數(shù),用戶(hù)程序從此處開(kāi)始執(zhí)行;
xx.c關(guān)于外設(shè)的初始化函數(shù)MX_XX_Init()、外設(shè)結(jié)構(gòu)體等就在此處被定義;
stm32xx_it.c 中斷服務(wù)函數(shù)在此處被定義(其實(shí)也支持在別處復(fù)定義),用戶(hù)可以修改中斷服務(wù)函數(shù)來(lái)實(shí)現(xiàn)用戶(hù)需要的功能;
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ō)明書(shū),以stm32f1xx_hal_gpio_ex.c為例,在庫(kù)函數(shù)的前面會(huì)有大篇幅的介紹,介紹如何使用這個(gè)外設(shè),實(shí)現(xiàn)什么功能需要調(diào)用什么函數(shù),非常貼心。

-
STM32
+關(guān)注
關(guān)注
2301文章
11073瀏覽量
369386 -
代碼
+關(guān)注
關(guān)注
30文章
4922瀏覽量
72239 -
HAL
+關(guān)注
關(guān)注
2文章
72瀏覽量
13435
發(fā)布評(píng)論請(qǐng)先 登錄
STM32CubeMx入門(mén)教程(4):PWM應(yīng)用
STM32F030K6xx HAL庫(kù)及STM32CubeMX生成代碼
用STM32CubeMX與HAL庫(kù)進(jìn)行開(kāi)發(fā)
STM32CubeMx代碼生成問(wèn)題求解
使用STM32CubeMx版本6.5.0生成的代碼缺少HAL_RTCEx_SetWakeUpTimer_IT ()的原因?
STM32CubeMX 配置STM32F407 實(shí)現(xiàn)HAL庫(kù)延時(shí)微妙方案

STM32CubeMX生成代碼在SW4STM32下移植STemWin(CLion+CubeMX)

STM32cubemx教程及STM32入門(mén)(一)

STM32實(shí)戰(zhàn) 2 | STM32CubeMX及HAL庫(kù)點(diǎn)亮LED

STM32CubeMX | STM32基于HAL實(shí)現(xiàn)USB模擬U盤(pán)

STM32CubeMX與HAL庫(kù)學(xué)習(xí)--ADC與USART的簡(jiǎn)單練習(xí)

STM32CubeMX用于STM32配置并初始化C代碼生成
使用STM32CubeMX生成初始化代碼
STM32CubeMX的配置和C代碼的生成

評(píng)論