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