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

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

  • 1 该驱动函数预览
    • 1.1 HAL_RCC_DeInit
    • 1.2 HAL_RCC_OscConfig
    • 1.3 HAL_RCC_ClockConfig
    • 1.4 HAL_RCC_MCOConfig
    • 1.5 HAL_RCC_EnableCSS
    • 1.6 HAL_RCC_DisableCSS
    • 1.7 HAL_RCC_GetSysClockFreq
    • 1.8 HAL_RCC_GetHCLKFreq
    • 1.9 HAL_RCC_GetPCLK1Freq
    • 1.10 HAL_RCC_GetPCLK2Freq
    • 1.11 HAL_RCC_GetOscConfig
    • 1.12 HAL_RCC_GetClockConfig
    • 1.13 HAL_RCC_NMI_IRQHandler
    • 1.14 HAL_RCC_CSSCallback
  • 该文档修改记录:
  • 总结

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.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日第一次发布,介绍了该博客驱动所有函数的介绍及使用

总结

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/3454.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C++笔记打卡第23天(STL常用算法)

1.常用排序算法 sort&#xff1a;对容器内元素进行排序 class Myprint { public:void operator()(int val){cout << val << " ";} };// 查自定义数据类型 void test01() {vector<int> v;v.push_back(10);v.push_back(20);v.push_back(15);v.push_b…

Qt :Ordered Map

在项目中&#xff0c;有时候对数据结构有这样的需求&#xff0c;既需要具备Map的高效读写&#xff0c;又要兼具插入数据成员的有序性&#xff0c;这时候你就需要使用Ordered Map了。 关于Ordered Map,相关资源比较多&#xff0c;实现思路比较简单&#xff0c;基本上都是通过lis…

使用零拷贝技术加速视频图像操作

不使用cv::cuda::HostMem的情况 当直接创建cv::cuda::GpuMat并从CPU内存拷贝数据到GPU时&#xff0c;如果没有共享内存机制&#xff0c;数据传输是通过常规的内存拷贝完成的&#xff0c;例如&#xff1a; uchar* nv12Data; // CPU内存中的NV12数据 cv::Mat hostImage(height …

C# 获取一个字符串中数字部分?

要在 C# 中将一个字符串中只保留数字字符&#xff0c;以下是两种实现方法&#xff1a; 方法一&#xff1a;使用正则表达式 正则表达式是一种强大的文本模式匹配工具&#xff0c;可以轻松地提取字符串中符合特定规则的部分。 在这种情况下&#xff0c;我们可以使用一个匹配数…

数据挖掘实验一

一、实验环境及背景 使用软件&#xff1a; Anaconda3 Jupyter Notebook 实验内容&#xff1a; 1.使用Tushare或者其他手段获取任意两支股票近三个月的交易数据。做出收盘价的变动图像。2.使用Pandas_datareader获取世界银行数据库中美国&#xff08;USA&#xff09;、瑞典&…

【中级软件设计师】上午题12-软件工程(2):单元测试、黑盒测试、白盒测试、软件运行与维护

【中级软件设计师】上午题12-软件工程&#xff08;2&#xff09; 1 系统测试1.1 单元测试1.2 集成测试1.2.1 自顶向下1.2.2 自顶向上1.2.3 回归测试 2 测试方法2.1 黑盒测试2.1.1 McCabe度量法 2.2 白盒测试2.2.1 语句覆盖-“每个流程”执行一次2.2.2 判定覆盖2.2.3 条件覆盖-A…

资源、死锁、如何监测死锁

资源&#xff1a;变量、对象、网络资源、文件、内存、cpu等等 &#xff08;应用层或者会话层 资源&#xff09; 统一资源限定符&#xff1a;[scheme:][//authority][path][?query][#fragment] authority 可以表示&#xff1a; [user-info]host[:port] 比如&#xff1a; fi…

vue+springboot项目的登录验证码(JAVA自带)

后台springboot CaptureController package com.example.controller;import com.example.common.Result; import com.example.service.AuthCodeService; import com.example.utils.CodeUtils; import lombok.SneakyThrows; import org.apache.ibatis.annotations.Param; impo…

Java openrasp记录-01

例子1 https://github.com/anbai-inc/javaweb-expression 一个hook ognl、spel、MVEL表达式注入的例子 用的是asm5进行字节码修改 采用premain进行插桩&#xff0c;重写transform方法 expClassList是要hook的类&#xff0c;这里定义在MethodHookDesc 这里判断hook点通过类名…

Java并发编程:ThreadPoolExecutor详细源码解析与应用

Thread直接创建线程的弊端 在开始解析ThreadPoolExecutor类之前&#xff0c;让我们先来了解直接创建线程所带来的弊端。在Java中&#xff0c;线程是资源密集型对象&#xff0c;每当需要并发执行任务时&#xff0c;直接创建新线程会带来以下问题&#xff1a; 资源消耗 每个线…

贪吃蛇身子改进加贪吃蛇向右移动

1. 蛇移动的思想&#xff1a; 其实就是删除头节点 &#xff0c;增加尾节点&#xff1b;一句代码搞定 struct Snake *p; p head; head head -> next; free(p) 防止造成多的空间节点 2.增加尾节点代码思想&#xff1a; 2.1 .开辟new 节点的空间 struct Snake *new (stru…

解决Android studio更换sdk地址后flutter项目显示no device selected

问题描述 因为之前sdk的路径在c盘上&#xff0c;经常在更新或下在sdk后c盘饱满&#xff0c;于是就更换了sdk的路径&#xff0c;更换sdk路径后就导致flutter项目在选择设备的时候出现no device selected 找不到设备&#xff0c;但是在device Manager可以看到物理设备或者是虚拟…

深入了解Eureka:微服务架构中的服务发现与注册中心

引言 微服务架构的兴起使得应用程序变得更加模块化和可扩展。在这种架构下&#xff0c;服务发现与注册中心扮演着至关重要的角色。本文将深入探讨Eureka作为服务发现与注册中心的作用、优缺点、重要性以及其服务架构。 一、Eureka的作用 Eureka是Netflix开源的一款用于构建分…

【Quartz】quartz集群模式下数据库表设计原则(详细版)

目录 引言 1. 数据共享性 2. 锁管理 3. 持久性和一致性 4. 状态追踪 5. 元数据管理 6. 优化和索引 主要的Quartz表包括 引言 Quartz 是一个流行的开源作业调度库&#xff0c;广泛用于在Java应用程序中安排作业。在Quartz的集群模式中&#xff0c;多个Quartz实例共享一个…

Java设计模式:使用责任链模式和状态模式优化‘审批流程‘

Java设计模式&#xff1a;使用责任链模式和状态模式优化审批流程 摘要引言 需求流程图正文内容&#x1f4d0; 基本概念介绍 功能实现示例1:设计模式&#xff1a;责任链模式方法&#xff1a;好处&#xff1a; 示例2:设计模式&#xff1a;责任链模式方法和操作流程&#xff1a;好…

【canvas】前端创造的图片粒子动画效果:HTML5 Canvas 技术详解

前端创造的图片粒子动画效果&#xff1a;HTML5 Canvas 技术详解 我们将深入探讨如何通过 HTML5 的 Canvas 功能&#xff0c;将上传的图片转换成引人入胜的粒子动画效果。这种效果将图片分解成小粒子&#xff0c;并在用户与它们交互时产生动态变化。我们将分步骤详细解析代码&a…

EasyRecovery数据恢复软件2025永久免费电脑版下载

EasyRecovery数据恢复软件是一款业界知名的数据恢复工具&#xff0c;它凭借强大的恢复能力和广泛的数据兼容性&#xff0c;帮助用户从各种存储设备中恢复丢失或删除的数据。以下是关于EasyRecovery数据恢复软件的详细介绍。 EasyRecovery绿色破解下载网盘链接: https://pan.ba…

自动驾驶行业源代码防泄漏解决方案

行业背景&#xff1a; 随着新一代信息通信及人工智能技术的快速发展&#xff0c;汽车作为这些新技术应用的重要载体&#xff0c;正在加速向智能化和网联化转型&#xff0c;以自动驾驶研发为主业的企业也越来越多&#xff0c;如何保障自己研发的算法、模型、系统不被研发人员离…

Linux入门攻坚——20、systemd、(sysvinit、upstart重温)

再一次讲到Linux系统启动流程&#xff1a; POST --> Boot Sequence --> Bootloader(grub) --> kernel initramfs(initrd) --> rootfs --> /sbin/init 对于init&#xff0c;即系统内核加载完毕后&#xff08;加载kernel和切换根文件系统&#xff09;运行…

Python项目开发实战:怎么实现端口扫描器

注意:本文的下载教程,与以下文章的思路有相同点,也有不同点,最终目标只是让读者从多维度去熟练掌握本知识点。 下载教程:Python项目开发实战_端口扫描器的实现_编程案例解析实例详解课程教程.pdf 1、步骤 在Python项目开发中,设计并实现一个端口扫描器是一项基础且实用的…