|
/* 使能HSE,并选择HSE作为PLL时钟源 */
RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE;
RCC_OscInitStruct.HSEState = RCC_HSE_ON;
RCC_OscInitStruct.HSIState = RCC_HSI_OFF;
RCC_OscInitStruct.CSIState = RCC_CSI_OFF;
RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;
RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE;
RCC_OscInitStruct.PLL.PLLM = 5; //PLL_VCO_IN=HSE/PLL_M,25/5=5
RCC_OscInitStruct.PLL.PLLN = 160; //PLL_VCO_OUT=PLL_VCO_IN*PLL_N,5*160=800
RCC_OscInitStruct.PLL.PLLP = 2; //SYS_CLK=PLL_VCO_OUT/PLL_P,800/2=400
RCC_OscInitStruct.PLL.PLLR = 2; //
RCC_OscInitStruct.PLL.PLLQ = 40; //OTHER_CLK=PLL_VCO_OUT/PLL_Q,800/40=20
RCC_OscInitStruct.PLL.PLLVCOSEL = RCC_PLL1VCOWIDE;
RCC_OscInitStruct.PLL.PLLRGE = RCC_PLL1VCIRANGE_2;
ret = HAL_RCC_OscConfig(&RCC_OscInitStruct);
时钟配置是这样的,但是读取SystemCoreClock = 64000000,用HAL_RCC_GetSysClockFreq()获得也是64000000.
不应该是400Mhz吗?
有大侠帮忙解答,谢谢! |
|