衡阳派盒市场营销有限公司

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

STM32CubeMX生成的代碼,是怎樣的HAL架構(gòu)?

撞上電子 ? 2025-01-01 21:01 ? 次閱讀

需要注意,CubeMX只是一個(gè)初始化工具,它只是幫你完成了HAL庫外設(shè)和時(shí)鐘的初始化,具體程序的編寫還需要查閱HAL庫的說明,使用相關(guān)函數(shù)實(shí)現(xiàn)你想實(shí)現(xiàn)的功能。

CubeMX生成的代碼包含了豐富的注釋,為用戶規(guī)范編程提供了參考,如果后期還需要使用CubeMX更改時(shí)鐘或是添加新的外設(shè),用戶代碼必須寫在相應(yīng)注釋BEGIN和END之間,否則再次使用CubeMX生成代碼時(shí),未在指定位置的代碼會(huì)被刪除!

790d7c76-c840-11ef-9434-92fbcf53809c.png

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工具,而是純使用代碼來實(shí)現(xiàn),則不需考慮代碼位置和CubeMX的初始化更改。

79261204-c840-11ef-9434-92fbcf53809c.png


Application/MDK-ARM文件夾:

此文件夾下存放在.s啟動(dòng)文件,用戶一般不需要進(jìn)行更改。

Drivers/CMSIS文件夾:

存放CMSIS接口文件,用戶一般無需關(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ù)來實(shí)現(xiàn)用戶需要的功能;

stm32xx_hal_msp.c 與初始化相關(guān),如果用CubeMX進(jìn)行初始化,一般也無需關(guān)心此文件。

Drivers/STM32xx_HAL_Driver文件夾:

HAL庫文件夾,里面存放這各個(gè)外設(shè)相關(guān)函數(shù),我們調(diào)用的函數(shù),也大多來自此處。

更重要的是,這里面也包含HAL庫相關(guān)外設(shè)的使用說明書,以stm32f1xx_hal_gpio_ex.c為例,在庫函數(shù)的前面會(huì)有大篇幅的介紹,介紹如何使用這個(gè)外設(shè),實(shí)現(xiàn)什么功能需要調(diào)用什么函數(shù),非常貼心。

793e11ec-c840-11ef-9434-92fbcf53809c.png

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • STM32
    +關(guān)注

    關(guān)注

    2272

    文章

    10923

    瀏覽量

    357544
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4825

    瀏覽量

    69038
  • HAL
    HAL
    +關(guān)注

    關(guān)注

    2

    文章

    71

    瀏覽量

    12673
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    STM32CubeMx入門教程(4):PWM應(yīng)用

    導(dǎo)語“使用STM32CubeMx配置定時(shí)器輸出PWM波,生成初始化代碼。”
    發(fā)表于 07-11 15:23 ?2585次閱讀
    <b class='flag-5'>STM32CubeMx</b>入門教程(4):PWM應(yīng)用

    STM32F030K6xx HAL庫及STM32CubeMX生成代碼

    **STM32F030K6xx HALSTM32CubeMX生成代碼中IWDG喂狗復(fù)位**最近在編寫一個(gè)項(xiàng)目時(shí)用
    發(fā)表于 08-02 10:46

    STM32CubeMXHAL庫進(jìn)行開發(fā)

    STM32CubeMXHAL庫學(xué)習(xí)--基本定時(shí)器定時(shí)中斷背景STM32CubeMX生成初始化代碼在MDK-ARM里編輯
    發(fā)表于 08-11 06:59

    STM32CubeMx代碼生成問題求解

    STM32CubeMx生成如下代碼HAL_GPIO_EXTI_IRQHandler (GPIO_OUTPUT_PA0_Pin);但我希望它生成
    發(fā)表于 12-13 06:36

    使用STM32CubeMx版本6.5.0生成代碼缺少HAL_RTCEx_SetWakeUpTimer_IT ()的原因?

    使用 STM32CubeMx 版本 6.5.0 生成代碼缺少 MX_RTC_Init () 函數(shù)中應(yīng)包含的 HAL_RTCEx_SetWakeUpTimer_IT ()。
    發(fā)表于 02-02 07:38

    STM32CubeMX 配置STM32F407 實(shí)現(xiàn)HAL庫延時(shí)微妙方案

    STM32CubeMX 配置STM32F407 實(shí)現(xiàn)HAL庫延時(shí)微妙方案
    發(fā)表于 11-24 20:51 ?20次下載
    <b class='flag-5'>STM32CubeMX</b> 配置<b class='flag-5'>STM32</b>F407 實(shí)現(xiàn)<b class='flag-5'>HAL</b>庫延時(shí)微妙方案

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

    STM32CubeMX生成代碼在SW4STM32下移植STemWin(CLion+CubeMX)文章目錄
    發(fā)表于 12-04 14:36 ?12次下載
    <b class='flag-5'>STM32CubeMX</b><b class='flag-5'>生成</b><b class='flag-5'>代碼</b>在SW4<b class='flag-5'>STM32</b>下移植STemWin(CLion+<b class='flag-5'>CubeMX</b>)

    STM32cubemx教程及STM32入門(一)

    生成C 初始化代碼,可以大大減輕開發(fā)工作,時(shí)間和費(fèi)用,提高開發(fā)效率。STM32CubeMX幾乎覆蓋了STM32 全系列芯片。在CubeMX
    發(fā)表于 12-07 17:36 ?13次下載
    <b class='flag-5'>STM32cubemx</b>教程及<b class='flag-5'>STM32</b>入門(一)

    STM32實(shí)戰(zhàn) 2 | STM32CubeMXHAL庫點(diǎn)亮LED

    STM32實(shí)戰(zhàn) 2 | STM32CubeMXHAL庫點(diǎn)亮LED
    發(fā)表于 12-08 12:36 ?34次下載
    <b class='flag-5'>STM32</b>實(shí)戰(zhàn) 2 | <b class='flag-5'>STM32CubeMX</b>及<b class='flag-5'>HAL</b>庫點(diǎn)亮LED

    STM32CubeMX基于HAL庫實(shí)現(xiàn)簡單串口通信

    STM32CubeMX基于HAL庫實(shí)現(xiàn)簡單串口通信板子:STM32F103C8編譯工具:Keil+STM32CubeMX燒錄工具:FlyMcu串口調(diào)試程序:XCOM實(shí)驗(yàn)要求:1)設(shè)置波
    發(fā)表于 12-08 12:36 ?20次下載
    <b class='flag-5'>STM32CubeMX</b>基于<b class='flag-5'>HAL</b>庫實(shí)現(xiàn)簡單串口通信

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

    STM32CubeMX | STM32基于HAL實(shí)現(xiàn)USB模擬U盤目錄STM32CubeMX | STM32基于
    發(fā)表于 12-28 20:04 ?40次下載
    <b class='flag-5'>STM32CubeMX</b> | <b class='flag-5'>STM32</b>基于<b class='flag-5'>HAL</b>實(shí)現(xiàn)USB模擬U盤

    STM32CubeMXHAL庫學(xué)習(xí)--ADC與USART的簡單練習(xí)

    STM32CubeMXHAL庫學(xué)習(xí)--ADC與USART的簡單練習(xí)前言STM32CubeMX生成初始化代碼在MDK-ARM里編輯
    發(fā)表于 01-12 20:27 ?13次下載
    <b class='flag-5'>STM32CubeMX</b>與<b class='flag-5'>HAL</b>庫學(xué)習(xí)--ADC與USART的簡單練習(xí)

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

    STM32CubeMX用于STM32配置 并初始化C代碼生成.STM32CubeMXSTM32
    發(fā)表于 02-14 11:00 ?5次下載

    使用STM32CubeMX生成初始化代碼

    我使用STM32CubeMX生成初始化代碼,使用LL庫,這里只介紹跟i2c相關(guān)的部分,其他必要的初始化需要自己完成。芯片使用stm32f042。本文的
    的頭像 發(fā)表于 03-22 15:26 ?3126次閱讀

    STM32CubeMX的配置和C代碼生成

    電子發(fā)燒友網(wǎng)站提供《STM32CubeMX的配置和C代碼生成.pdf》資料免費(fèi)下載
    發(fā)表于 09-20 09:53 ?8次下載
    <b class='flag-5'>STM32CubeMX</b>的配置和C<b class='flag-5'>代碼</b>的<b class='flag-5'>生成</b>
    新世百家乐官网的玩法技巧和规则 | 大发8888迅雷下载免费| 百家乐稳定打法| 百家乐官网投注平台导航网 | 免水百家乐的玩法技巧和规则| 财富百家乐官网的玩法技巧和规则 | 百家乐大赢家书籍| 百家乐官网出庄几率| 大发888娱乐城 真钱下载| 百家乐官网长龙技巧| 百家乐官网最新套路| 双色球大赢家| 谈大发888风水和运气| 百家乐娱乐平台代理佣金| 北京百家乐网上投注| 新东方百家乐官网娱乐城| 百家乐官网六合彩| 网上百家乐官网网址| 博客国际| 德州扑克总督| 二八杠算法| 女优百家乐的玩法技巧和规则| 游戏厅百家乐技巧| 天天百家乐游戏| 大众百家乐官网娱乐城| 巴比伦百家乐官网的玩法技巧和规则 | 六合彩开码结果| 大发888 bet娱乐场下载| 大发888游戏平台下载| 发中发百家乐的玩法技巧和规则| 百家乐怎样玩的| 百家乐专业术语| 葡京百家乐的玩法技巧和规则| 百家乐里什么叫洗码| 百家乐千术道具| 百家乐策略详解| 真人百家乐官网最高赌注| 单机百家乐官网游戏下| 恒丰百家乐官网的玩法技巧和规则 | 新宝娱乐| 丹凤县|