• A39 STM32_HAL库函数 之 Rcc通用驱动 所有函数的介绍及使用


    1 该驱动函数预览

    序号函数名描述
    1HAL_RCC_DeInit()反初始化时钟控制模块。
    2HAL_RCC_OscConfig()配置时钟源。
    3HAL_RCC_ClockConfig()配置系统时钟。
    4HAL_RCC_MCOConfig()配置MCO(主时钟输出)。
    5HAL_RCC_EnableCSS()启用CSS(时钟安全系统)。
    6HAL_RCC_DisableCSS()禁用CSS(时钟安全系统)。
    7HAL_RCC_GetSysClockFreq()获取系统时钟频率。
    8HAL_RCC_GetHCLKFreq()获取HCLK(AHB总线时钟)频率。
    9HAL_RCC_GetPCLK1Freq()获取PCLK1(APB1总线时钟)频率。
    10HAL_RCC_GetPCLK2Freq()获取PCLK2(APB2总线时钟)频率。
    11HAL_RCC_GetOscConfig()获取时钟源配置。
    12HAL_RCC_GetClockConfig()获取时钟配置。
    13HAL_RCC_NMI_IRQHandler()NMI中断处理程序。
    14HAL_RCC_CSSCallback()CSS(时钟安全系统)中断回调函数。

    以下是使用模板:

    #include "stm32f4xx_hal.h"
    
    int main(void) {
        // HAL初始化
        HAL_Init();
        
        // 反初始化时钟控制模块
        HAL_RCC_DeInit();
        
        // 配置时钟源
        HAL_RCC_OscConfig();
        
        // 配置系统时钟
        HAL_RCC_ClockConfig();
        
        // 获取系统时钟频率
        HAL_RCC_GetSysClockFreq();
        
        // 获取HCLK(AHB总线时钟)频率
        HAL_RCC_GetHCLKFreq();
        
        // 获取PCLK1(APB1总线时钟)频率
        HAL_RCC_GetPCLK1Freq();
        
        // 获取PCLK2(APB2总线时钟)频率
        HAL_RCC_GetPCLK2Freq();
        
        return 0;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29

    1.1 HAL_RCC_DeInit

    函数名HAL_RCC_DeInit
    函数原形void HAL_RCC_DeInit(void)
    功能描述复位RCC设置
    输入参数
    输出参数
    返回值
    先决条件
    被调用函数

    1.2 HAL_RCC_OscConfig

    函数名HAL_RCC_OscConfig
    函数原形HAL_StatusTypeDef HAL_RCC_OscConfig(RCC_OscInitTypeDef *RCC_OscInitStruct)
    功能描述配置时钟振荡器
    输入参数RCC_OscInitStruct:时钟振荡器配置参数
    输出参数
    返回值HAL_StatusTypeDef:函数执行状态
    先决条件
    被调用函数

    1.3 HAL_RCC_ClockConfig

    函数名HAL_RCC_ClockConfig
    函数原形HAL_StatusTypeDef HAL_RCC_ClockConfig(RCC_ClkInitTypeDef *RCC_ClkInitStruct, uint32_t FLatency)
    功能描述配置系统时钟、AHB、APB1和APB2总线时钟
    输入参数 1RCC_ClkInitStruct:时钟配置参数
    输入参数 2FLatency:Flash延迟配置参数
    输出参数
    返回值HAL_StatusTypeDef:函数执行状态
    先决条件
    被调用函数

    1.4 HAL_RCC_MCOConfig

    函数名HAL_RCC_MCOConfig
    函数原形void HAL_RCC_MCOConfig(uint32_t RCC_MCOx, uint32_t RCC_MCOSource, uint32_t RCC_MCODiv)
    功能描述配置主时钟输出(MCO)
    输入参数 1RCC_MCOx:MCO输出端口编号
    输入参数 2RCC_MCOSource:MCO时钟源
    输入参数 3RCC_MCODiv:MCO分频器
    输出参数
    返回值
    先决条件
    被调用函数

    1.5 HAL_RCC_EnableCSS

    函数名HAL_RCC_EnableCSS
    函数原形void HAL_RCC_EnableCSS(void)
    功能描述启用CSS(Clock Security System)
    输入参数
    输出参数
    返回值
    先决条件
    被调用函数

    1.6 HAL_RCC_DisableCSS

    函数名HAL_RCC_DisableCSS
    函数原形void HAL_RCC_DisableCSS(void)
    功能描述禁用CSS(Clock Security System)
    输入参数
    输出参数
    返回值
    先决条件
    被调用函数

    1.7 HAL_RCC_GetSysClockFreq

    函数名HAL_RCC_GetSysClockFreq
    函数原形uint32_t HAL_RCC_GetSysClockFreq(void)
    功能描述获取系统时钟频率
    输入参数
    输出参数
    返回值系统时钟频率
    先决条件
    被调用函数

    1.8 HAL_RCC_GetHCLKFreq

    函数名HAL_RCC_GetHCLKFreq
    函数原形uint32_t HAL_RCC_GetHCLKFreq(void)
    功能描述获取HCLK时钟频率
    输入参数
    输出参数
    返回值HCLK时钟频率
    先决条件
    被调用函数

    1.9 HAL_RCC_GetPCLK1Freq

    函数名HAL_RCC_GetPCLK1Freq
    函数原形uint32_t HAL_RCC_GetPCLK1Freq(void)
    功能描述获取PCLK1时钟频率
    输入参数
    输出参数
    返回值PCLK1时钟频率
    先决条件
    被调用函数

    1.10 HAL_RCC_GetPCLK2Freq

    函数名HAL_RCC_GetPCLK2Freq
    函数原形uint32_t HAL_RCC_GetPCLK2Freq(void)
    功能描述获取PCLK2时钟频率
    输入参数
    输出参数
    返回值PCLK2时钟频率
    先决条件
    被调用函数

    1.11 HAL_RCC_GetOscConfig

    函数名HAL_RCC_GetOscConfig
    函数原形void HAL_RCC_GetOscConfig(RCC_OscInitTypeDef *RCC_OscInitStruct)
    功能描述获取时钟振荡器的配置参数
    输入参数RCC_OscInitStruct:时钟振荡器配置参数
    输出参数
    返回值
    先决条件
    被调用函数

    1.12 HAL_RCC_GetClockConfig

    函数名HAL_RCC_GetClockConfig
    函数原形void HAL_RCC_GetClockConfig(RCC_ClkInitTypeDef *RCC_ClkInitStruct, uint32_t *pFLatency)
    功能描述获取时钟树的配置参数
    输入参数 1RCC_ClkInitStruct:时钟树配置参数
    输入参数 2pFLatency:Flash延迟配置参数
    输出参数
    返回值
    先决条件
    被调用函数

    1.13 HAL_RCC_NMI_IRQHandler

    函数名HAL_RCC_NMI_IRQHandler
    函数原形void HAL_RCC_NMI_IRQHandler(void)
    功能描述NMI中断服务程序
    输入参数
    输出参数
    返回值
    先决条件
    被调用函数

    1.14 HAL_RCC_CSSCallback

    函数名HAL_RCC_CSSCallback
    函数原形void HAL_RCC_CSSCallback(void)
    功能描述CSS(Clock Security System)中断回调函数
    输入参数
    输出参数
    返回值
    先决条件
    被调用函数

    该文档修改记录:

    修改时间修改说明
    2024年4月30日第一次发布,介绍了该博客驱动所有函数的介绍及使用

    总结

    以上就是该博客驱动所有函数的介绍及使用的内容。
    有不明白的地方欢迎留言;有建议欢迎留言,我后面编写文档好改进。
    创作不容,如果文档对您有帮助,记得给个赞。

  • 相关阅读:
    初探CSS 中篇
    入门力扣自学笔记124 C++ (题目编号641)
    面试官这一套 Framework 连环炮;看看你能撑到第几步?
    nginx pod hook钩子优雅关闭示例详解
    Room+ViewModel+AsyncListDiffer【android JetPack】
    HCIA网络基础10-交换网络及STP
    mysql中的undo log、redo log 、binlog大致概要
    【MySQL】左连接右连接内连接与Hash连接、子查询原理与实战(MySQL专栏启动)
    网络探索之浏览器解析URL
    APP测试(四)弱网测试
  • 原文地址:https://blog.csdn.net/qq_50808730/article/details/137437970