// 配置HSE为8MHz,PLL为72MHz
void SystemClock_Config(void)
{
// 关闭Flash预读取
FLASH->ACR &= ~FLASH_ACR_PRFTBE;
// 关闭HSI
RCC->CR &= ~RCC_CR_HSION;
// 配置HSE
RCC->CR |= RCC_CR_HSEON;
while (!(RCC->CR & RCC_CR_HSERDY)) {}
// 配置预分频器
RCC->CFGR = (RCC->CFGR & ~RCC_CFGR_HPRE) | RCC_CFGR_HPRE_DIV1;
RCC->CFGR = (RCC->CFGR & ~RCC_CFGR_PPRE1) | RCC_CFGR_PPRE1_DIV2;
RCC->CFGR = (RCC->CFGR & ~RCC_CFGR_PPRE2) | RCC_CFGR_PPRE2_DIV1;
// 配置PLL
RCC->CFGR = (RCC->CFGR & ~RCC_CFGR_PLLSRC) | RCC_CFGR_PLLSRC_HSE;
RCC->CFGR = (RCC->CFGR & ~RCC_CFGR_PLLMUL) | RCC_CFGR_PLLMUL_9;
RCC->CFGR = (RCC->CFGR & ~RCC_CFGR_PLLDIV) | RCC_CFGR_PLLDIV_2;
// 使能PLL
RCC->CR |= RCC_CR_PLLON;
while (!(RCC->CR & RCC_CR_PLLRDY)) {}
// 选择PLL作为系统时钟源
RCC->CFGR |= RCC_CFGR_SW_PLL;
} |