时钟 主频 分频 倍频 预分频 后分频


主频:cpu的时钟频率,表示cpu的运算速度


分频:将输入信号的的频率进行降低之后在输出;经过处理后,输出的信号频率是原来的1/2,叫二分频;1/n的话,就是n分频。


倍频:输出信号的频率为输入信号频率的倍数;2倍频,3倍频,n倍频。


预分频:1:256 输入信号达到256个电平后,计数值加一


后分频:1:256 只有中断发生256次之后,才会置中断位



STM32f407的时钟初始化包括以下几个步骤: 1. 使能HSE时钟:HSE(High Speed External)是外部高速晶振,需要先使能HSE时钟。 ``` RCC->CR |= RCC_CR_HSEON; // 使能HSE时钟 while(!(RCC->CR & RCC_CR_HSERDY)); // 等待HSE稳定 ``` 2. 配置PLL时钟:STM32f407的主频通常是通过PLL时钟倍频得到。需要选择合适的倍频系数、分频系数和PLL时钟源。 ``` RCC->PLLCFGR &= ~(RCC_PLLCFGR_PLLM | RCC_PLLCFGR_PLLN | RCC_PLLCFGR_PLLP | RCC_PLLCFGR_PLLQ); // 清零PLL配置位 RCC->PLLCFGR |= RCC_PLLCFGR_PLLSRC_HSE; // 选择HSE为PLL时钟源 RCC->PLLCFGR |= RCC_PLLCFGR_PLLM_3 | RCC_PLLCFGR_PLLM_1; // PLL输入分频系数 RCC->PLLCFGR |= RCC_PLLCFGR_PLLN_6 | RCC_PLLCFGR_PLLN_3 | RCC_PLLCFGR_PLLN_2 | RCC_PLLCFGR_PLLN_0; // PLL倍频系数 RCC->PLLCFGR &= ~RCC_PLLCFGR_PLLP; // PLL输出分频系数 RCC->PLLCFGR |= RCC_PLLCFGR_PLLQ_2 | RCC_PLLCFGR_PLLQ_1; // PLL时钟输出分频系数 RCC->CR |= RCC_CR_PLLON; // 使能PLL时钟 while(!(RCC->CR & RCC_CR_PLLRDY)); // 等待PLL稳定 ``` 3. 配置系统时钟:将PLL时钟作为系统时钟,并设置合适的AHB、APB1和APB2分频系数。 ``` RCC->CFGR &= ~(RCC_CFGR_HPRE | RCC_CFGR_PPRE1 | RCC_CFGR_PPRE2); // 清零分频系数 RCC->CFGR |= RCC_CFGR_HPRE_DIV1; // AHB时钟分频 RCC->CFGR |= RCC_CFGR_PPRE1_DIV4; // APB1时钟分频4 RCC->CFGR |= RCC_CFGR_PPRE2_DIV2; // APB2时钟分频2 RCC->CFGR |= RCC_CFGR_SW_PLL; // 选择PLL时钟作为系统时钟 while((RCC->CFGR & RCC_CFGR_SWS) != RCC_CFGR_SWS_PLL); // 等待PLL时钟成为系统时钟 ``` 以上是STM32f407的时钟初始化步骤,需要根据具体的应用场景进行调整。注意在使用PLL时钟之前必须先使能HSE时钟,并等待HSE稳定。在修改时钟分频系数和时钟源时需要先将对应的配置位清零,再设置新的分频系数和时钟源。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值