STM32使用PA8测试系统时钟(LSE)
STM32的PA.8引脚具有复用功能——时钟输出(MCO), 该功能能将STM32内部的时钟通过PA.8输出.
1.操作步骤
- 设置PA.8为复用AF模式
//GPIO PA8设置GPIO_InitTypeDef GPIO_InitStruct;/* GPIO Ports Clock Enable */__HAL_RCC_GPIOA_CLK_ENABLE();GPIO_InitStruct.Pin = GPIO_PIN_8;GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;GPIO_InitStruct.Pull = GPIO_NOPULL;GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
- 选择输出时钟源。
#define RCC_MCO1SOURCE_NOCLOCK ((uint32_t)0x00000000U) /*!< MCO1 output disabled, no clock on MCO1 */
#define RCC_MCO1SOURCE_SYSCLK RCC_CFGR_MCOSEL_0 /*!< SYSCLK selection as MCO1 source */
#define RCC_MCO1SOURCE_MSI RCC_CFGR_MCOSEL_1 /*!< MSI selection as MCO1 source */
#define RCC_MCO1SOURCE_HSI (RCC_CFGR_MCOSEL_0| RCC_CFGR_MCOSEL_1) /*!< HSI selection as MCO1 source */
#define RCC_MCO1SOURCE_HSE RCC_CFGR_MCOSEL_2 /*!< HSE selection as MCO1 source */
#define RCC_MCO1SOURCE_PLLCLK (RCC_CFGR_MCOSEL_0|RCC_CFGR_MCOSEL_2) /*!< PLLCLK selection as MCO1 source */
#define RCC_MCO1SOURCE_LSI (RCC_CFGR_MCOSEL_1|RCC_CFGR_MCOSEL_2) /*!< LSI selection as MCO1 source */
#define RCC_MCO1SOURCE_LSE (RCC_CFGR_MCOSEL_0|RCC_CFGR_MCOSEL_1|RCC_CFGR_MCOSEL_2) /*!< LSE selection as MCO1 source */
HAL_RCC_MCOConfig(RCC_MCO1, RCC_MCO1SOURCE_LSE, RCC_MCODIV_1);
参数RCC_MCO为要输出的内部时钟:
- 完成代码示例:
//PA8作为时钟输出引脚进行时钟的测试
void lock_hal_gpio_mco_test(void)
{GPIO_InitTypeDef GPIO_InitStruct;/* GPIO Ports Clock Enable */__HAL_RCC_GPIOA_CLK_ENABLE();GPIO_InitStruct.Pin = GPIO_PIN_8;GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;GPIO_InitStruct.Pull = GPIO_NOPULL;GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);HAL_RCC_MCOConfig(RCC_MCO1, RCC_MCO1SOURCE_LSE, RCC_MCODIV_1); //外部不低速时钟
}
大家在测试时,需要注意:GIPO的频率是多少,比如GPIO的频率是50MHz,如果超过了50MHz,使用示波器查看的波形会失真。
STM32使用PA8测试系统时钟(LSE)相关推荐
- STM32学习笔记1----STM32F429系统时钟
FreeRTOS任务基本知识 1.系统时钟 在 STM32F429 中,有 5 个最重要的时钟源,为 HSI.HSE.LSI.LSE.PLL.其中 PLL实际是分为三个时钟源,分别为主 PLL ...
- STM32 HAL库获取系统时钟与标准库获取系统时钟
HAL库 SysClk = HAL_RCC_GetSysClockFreq(); HClk = HAL_RCC_GetHCLKFreq(); PClk1 = HAL_RCC_GetPC ...
- STM32F103单片机系统时钟部分归纳
STM32F103系列增强型微控制器 --时钟控制(RCC) 三种不同的时钟源可用作系统时钟(SYSCLOCK): HIS振荡器时钟(由芯片内部RC振荡器提供) HSE振荡器时钟(由芯片外部晶体振荡器 ...
- STM32开发笔记48:STM32F4+DP83848以太网通信指南系列(二):系统时钟
本章为系列指南第二章,主要是介绍一下STM32F4的时钟配置.时钟是一个嵌入式产品从零开始开发的基石,一切逻辑都在时钟的节奏中安静地弹奏着,时钟为整个电路带来了欢快的「心跳」.开发者如果对时钟没有控制 ...
- 【STM32】STM32标准库与HAL库对照学习教程特别篇--系统时钟RCC详讲
[STM32]STM32标准库与HAL库对照学习教程特别篇--系统时钟RCC详讲 一.前言 二.时钟是什么 三.时钟树 1.时钟树图 2.时钟树讲解 左边部分 中间部分 右边部分 特殊部分 四.初始化 ...
- 【STM32】系统时钟RCC详解(超详细,超全面)
转载:https://blog.csdn.net/as480133937/article/details/98845509 1什么是时钟 时钟是单片机运行的基础,时钟信号推动单片机内各个部分执行相应的 ...
- STM32系统时钟及配置方法
什么是时钟 单片机如果要正常运行,时钟信号是必不可少的.作为CPU的脉搏,时钟的快慢决定了CPU的运行速率,执行指令的速度.一般时钟源会被分频器或倍频器分成多种频率的时钟,以满足系统的不同应用. 那么 ...
- STM32系统时钟配置及时钟树
参考资料:< STM32F4xx 中文参考手册> RCC 章节. STM32时钟可大致分为系统时钟和其它时钟两大类,总共包含5个时钟源 HSI(High Speed Internal Cl ...
- STM32—时钟树(结合系统时钟函数理解)
时钟树的概念: 我们可以把MCU的运行比作人体的运行一样,人最重要的是什么?是心跳! 心脏的周期性收缩将血液泵向身体各处.心脏对于人体好比时钟对于MCU,微控制器(MCU)的运行要靠周期性的时钟脉冲来 ...
最新文章
- 【2-SAT问题】解题报告:POJ 3678 Katu Puzzle(2-SAT问题的判定)
- Linux初学(Linux命令行的使用)
- 锻造「明星产品」的艺术与科学,在于取舍【附乔布斯张小龙的产品设计原则】...
- Python有了concurrent的话mutiprocessing和threading还有存在的意义吗?
- 绕过waf mysql爆库_sqlilab-Less-21-30-writeup
- Flutter文本组件Text
- 数据挖掘、机器学习、深度学习、推荐系统、自然语言处理的区别与联系
- 添加css单词换行连字符
- android最新图表框架,Android中绘制图表的开源框架AChartEngine初识
- 软考中级【数据库系统工程师】第0章:如何自学备考,考试介绍考什么,备考教材,上午和下午的体型分数分布,备考课程链接,个人备考感谢
- [lammps安装教程]lammps并行版安装教程
- 阿里云服务器学生计划--免费领取两个月
- Pytorch扫盲 - 安装、训练、测试、可视化、网络结构、finetune、loss
- jersey 原生ajax,jsonp ajax jersey 跨域访问
- 科技爱好者周刊(第 189 期):下一个内卷的行业
- 两道非常容易理解错的OSPF问题. 加深理解LSA的概念和ABR/ASBR的概念.
- 游戏BI数据统计分析相关
- MyBatis基于XML的使用——缓存
- 关于 ‘else‘ without a previous ‘if‘错误
- STM32开发板串口 ISP 方式下载程序