stm32f407系统时钟分频产生三种时钟
时间: 2024-10-14 08:00:53 浏览: 48
STM32F407微控制器通常有多种时钟源和分频机制,用于生成工作所需的稳定时钟。这三种基本时钟包括:
1. **HCLK (系统时钟) - 主时钟**:
HCLK是系统的核心时钟,它基于CPU的时钟频率,对于STM32F407而言,基础主频通常是84MHz (从内部高速RC振荡器产生的) 或者更高。通过HSE (High-Speed External Oscillator,外部高速晶体振荡器)、HSI (Internal High-Speed Oscillator,内部高速震荡器) 或 PLL (Phase-Locked Loop,锁相环路) 进行配置后,可以进一步提升到更高的频率。
2. **PCLK1 (预处理器时钟) 和 PCLK2 (第二预处理器时钟)**:
PCLK1和PCLK2是给片内外设分配的时钟,它们是HCLK的一半或四分之一频率。例如,如果HCLK是84MHz,PCLK1将是42MHz,而PCLK2可能是21MHz或更低,取决于具体的配置。
3. **SysTick定时器时钟**:
SysTick是一个独立于CPU周期的定时器,其时钟频率通常设置为系统的最高时钟频率(比如84MHz),用于精确的时间测量和中断服务请求。
相关问题
stm32f103 系统时钟 分频
STM32F103是一种基于ARM Cortex-M3内核的微控制器,它具有多种外设和功能。系统时钟分频是STM32F103中的一个重要特性。它可以控制MCU的主时钟源的频率,进而影响所有外设的工作频率。具体来说,STM32F103的系统时钟分频可以通过修改RCC_CFGR寄存器来设置,这个寄存器控制着时钟源和分频器的配置。
RCC_CFGR寄存器的最高两位(SWS[1:0])用于选择主时钟源。如果需要选择HSE(高速外部时钟)作为主时钟源,则需要先使能HSE,并将SWS设置为10;如果需要选择PLL作为主时钟源,则需要先使能PLL,并将SWS设置为11。另外,RCC_CFGR还可以配置PLL输入时钟的来源和倍频因子。例如,如果选择HSE作为PLL输入时钟,那么可以通过PLLSRC位设置;如果需要将PLL的倍频因子设置为8,则可以将PLLMUL设置为0111。
最后,根据需要,可以使用APB1和APB2的分频器来降低外设的工作频率,以节省功耗。具体来说,RCC_CFGR还可以配置APB1和APB2的分频因子。例如,如果需要将APB1的分频因子设置为2,则可以将PPRE1设置为100。
STM32F407定时器时钟
STM32F407定时器的时钟源可以是PLL时钟或者APB1时钟。其中,PLL时钟是通过配置PLL寄存器来设置的,公式为PLL=8MHz * N/ (M*P),其中N、M、P为寄存器的配置值;APB1时钟是通过RCC_CFGR寄存器的APB1分频系数来设置的。
另外,STM32F407还可以使用其他外设的时钟源作为定时器的时钟。比如以太网、USB OTG FS等外设都可以作为定时器的时钟源。
此外,STM32F407还有两个特殊的时钟源,分别是LSI和LSE。LSI是低速内部时钟,频率约为32kHz,主要用于独立看门狗和自动唤醒单元;LSE是低速外部时钟,使用32.768kHz的石英晶体作为时钟源,主要用于实时时钟RTC的时钟源。
综上所述,STM32F407的定时器时钟源可以是PLL时钟、APB1时钟,或者其他外设的时钟源。同时,还可以使用LSI和LSE作为特殊的时钟源。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* *3* [STM32的时钟系统学习笔记(基于STM32F407)](https://blog.csdn.net/weixin_47937575/article/details/124099253)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"]
[ .reference_list ]
阅读全文