我正在尝试使用 HSI16 作为时钟源和 PLLM = 1、PLLN = 10、AHB = 1、APB1 = 1 和 APB2 = 4 作为配置,使用 PLL 配置 STM32G474RE 板的 RCC 时钟。然而,当我运行代码时,PLLRDY 标志从未设置,我陷入了无限循环。
#include "main.h"
void SytemClockConfig(void){
/*Enable HSI16*/
RCC->CR |= RCC_CR_HSION;
while(!(RCC->CR & RCC_CR_HSIRDY)){}
/*Configure PWR and FLASH*/
RCC->APB1ENR1 |= RCC_APB1ENR1_PWREN;
PWR->CR1 |= (0x01 & PWR_CR1_VOS_Msk);
FLASH->ACR |= FLASH_ACR_ICEN | FLASH_ACR_DCEN | FLASH_ACR_LATENCY_2WS | FLASH_ACR_PRFTEN;
/*Configure AHB and APB*/
RCC->CFGR |= (0x00 & RCC_CFGR_HPRE_Msk);
RCC->CFGR |= (0x00 & RCC_CFGR_PPRE1_Msk);
RCC->CFGR |= (0x05 & RCC_CFGR_PPRE2_Msk);
/*Config PLL*/
RCC->PLLCFGR |= …Run Code Online (Sandbox Code Playgroud)