STM32F407时钟树与系统时钟学习笔记 |
您所在的位置:网站首页 › stm32f407ret6资料 › STM32F407时钟树与系统时钟学习笔记 |
STM32F4xx时钟树 STM32F407时钟树 1、 时钟树简介
1、MCO1用户可通过可配置的预分配器(从 1 到 5)向 MCO1 引脚 (PA8) 输出四个不同的时钟源: HSI 时钟、LSE 时钟、HSE 时钟、PLL 时钟 所需的时钟源通过 RCC 时钟配置寄存器 (RCC_CFGR) 中的 MCO1PRE[2:0] 和 MCO1[1:0]位选择。 2、MCO2用户可通过可配置的预分配器(从 1 到 5)向 MCO2 引脚 (PC9) 输出四个不同的时钟源: HSE 时钟、PLL 时钟、系统时钟 (SYSCLK)、PLLI2S 时钟 所需的时钟源通过 RCC 时钟配置寄存器 (RCC_CFGR) 中的 MCO2PRE[2:0] 和 MCO2位选择。 对于不同的 MCO 引脚,必须将相应的 GPIO 端口在复用功能模式下进行设置。MCO 输出时钟不得超过 100 MHz(最大 I/O 速度) 2、 时钟配置:1、对于HSI、HSE、PLL等时钟源配置,没有专门的固件库函数,可以通过SystemInit函数来操作配置。该函数具体实现过程如下(也可以根据寄存器自己操作): (1)、系统复位之后,先调用SystemInit函数,该函数的作用是初始化系统时钟,设置PLL等 (2)、打开HSE,等待其稳定, (3)、设置AHB、APBx、等分频系数 (4)、设置HSE为主PLL时钟源,并且配置主PLL里面的分频和倍频参数,然后产生PLLCLK并将其使能,并选择系统时钟(SYSCLC)为PLLCLK 2、初始化之后的状态 SYSCLK(系统时钟) =168MHZ AHB总线时钟(HCLK=SYSCLK)=168MHZ APB1总线时钟(PCLK1=SYSCLK/4)=42MHZ APB2总线时钟(PCLK2=SYSCLK/2)=84MHZ PLL主时钟 =168MHZ 初始化之后可以通过变量SystemCoreClock获取系统变量,如果SYSCLK=168MHZ,那么变量等于168000000 系统复位后先调用的是SystemInit函数,其次是main函数,这一点在启动文件里面写了。 3、SysTick(系统定时器)的使用方法简介:该定时器寄存器,24位,只能递减,该寄存器存在于内核,嵌套在NVIC中,所有的Cortex-M内核单片机都具有该定时器。SysTick_Config(uint32_t ticks)初始化函数位于Core_cm4.h中,计数器每计数一次的时间为 1/SYSCLK,一般我们设置 系统时钟 SYSCLK 等于 168M。 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |