stm32rcc时钟配置实验
时间: 2023-10-19 11:18:07 浏览: 109
好的,以下是一份基于STM32F4 Discovery板的RCC时钟配置实验代码,你可以根据自己的需要进行修改:
```
#include "stm32f4xx.h"
int main(void)
{
// 启用外部时钟
RCC->CR |= RCC_CR_HSEON;
while(!(RCC->CR & RCC_CR_HSERDY)); // 等待外部时钟启动
// 配置PLL时钟
RCC->PLLCFGR = (8 << RCC_PLLCFGR_PLLM_Pos) // PLL输入分频器为8
| (336 << RCC_PLLCFGR_PLLN_Pos) // PLL倍频器为336
| (RCC_PLLCFGR_PLLP_0) // PLL输出分频器为2
| (RCC_PLLCFGR_PLLSRC_HSE); // 使用外部时钟作为PLL输入
// 启用PLL时钟
RCC->CR |= RCC_CR_PLLON;
while(!(RCC->CR & RCC_CR_PLLRDY)); // 等待PLL时钟启动
// 配置系统时钟
RCC->CFGR = RCC_CFGR_HPRE_DIV1 // AHB总线时钟不分频
| RCC_CFGR_PPRE2_DIV2 // APB2总线时钟分频为2
| RCC_CFGR_PPRE1_DIV4 // APB1总线时钟分频为4
| RCC_CFGR_SW_PLL; // 使用PLL时钟作为系统时钟
// 等待系统时钟稳定
while((RCC->CFGR & RCC_CFGR_SWS) != RCC_CFGR_SWS_PLL);
// 进行其他初始化操作
while(1);
}
```
这份代码的作用是将STM32F4 Discovery板的系统时钟配置为外部晶振(8MHz)的168MHz,你可以根据自己的需要进行修改。同时,需要注意的是在使用PLL时钟时必须先启用外部时钟,并且在启用PLL时钟前必须等待外部时钟的稳定。
阅读全文