STM32时钟详解 STM32时钟源介绍 1. STM32的时钟源主要有: 内部时钟外部时钟锁相环倍频输出时钟
1.1 详细介绍 HSI(内部高速时钟)它是RC振荡器,频率可以达到8MHZ,可作为系统时钟和PLL锁相环的输入 HSE(外部高速时钟)接入晶振范围是4-16MHZ,可作为系统时钟和PLL锁相环的输入,还可以经过128分频之后输入给RTC。 LSI(内部低速时钟)它是RC振荡器,频率大概为40KHZ,供给独立看门狗或者RTC,并且独立看门口只能依靠LSI作为时钟源 LSE(外部低速时钟)通常外接32.768MHZ晶振提供给RTC PLL(锁相环)用来倍频输出。因为开发板外部晶振只有8MHZ,而STM32最大工作频率是72MHZ。他可以通过HSI输入,HSE输入或两分频输入,通过PLL倍频(2-16),倍频之后输入给系统时钟。 MCO(时钟输出管脚)通常对应STM32 PA8,它可以选择一个时钟信号输出,给外部的系统提供时钟源 2. 标准库的时钟配置 2.1 stm32启动文件 首先打开startup_stm32f10x_hd.s,该文件为stm32的启动文件,在该文件内会发现有这么一块用汇编写的代码。 通过这段汇编代码可以看出,程序在执行main函数之前,会先执行SystemInit函数。 2.2 SystemInit函数详解 打开内部8M时钟 通过查看寄存器手册可知,这段代码为打开内部8M时钟。
设置时钟配置寄存器 对应寄存器说明可查看《STM32中文参考手册_V10》的6.3.2 时钟配置寄存器(RCC_CFGR)章节。 后续代码,有兴趣可根据《STM32中文参考手册_V10》手册,查看代码具体作用。 2.3 SetSysClock()函数详解 system_stm32f10x.c文件中会根据芯片的型号定义对应的宏 3. 时钟配置函数 3.1 时钟初始化配置函数 SYSCLK(系统时钟)=72MHZ; AHB总线时钟(HCLK=SYSCLK)=72MHZ; APB1总线时钟(PCLK1=SYSCLK/2)=36MHZ; APB2总线时钟(PCLK1=SYSCLK/1)=72MHZ; PLL主时钟=72MHZ; 3.2 外设时钟使能配置函数 3.3 时钟源使能函数 3.4 时钟源和倍频因子配置函数 3.5 外设时钟复位函数 3.6 自定义系统时钟
2024最新激活全家桶教程,稳定运行到2099年,请移步至置顶文章:https://sigusoft.com/99576.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。 文章由激活谷谷主-小谷整理,转载请注明出处:https://sigusoft.com/42665.html