买了一块野火的STM32F407板子,看到RTC一章时,发现主函数如下:
说SystemInit();函数会默认把主频设置到72M,于是我就把SystemInit();函数都看了一遍。
SystemInit();函数中没有发现,再看 SetSysClock();
最终倍频的参数是168M,并不是72M
STM32查看时钟频率函数:
RCC_ClocksTypeDef RCC_clock; //结构体定义
RCC_GetClocksFreq(&RCC_clock); //获取频率
//打印频率
printf("SYSCLK = %d \n",RCC_clock.SYSCLK_Frequency);
printf("HCLK = %d \n",RCC_clock.HCLK_Frequency);
printf("PCLK1 = %d \n",RCC_clock.PCLK1_Frequency);
printf("PCLK2 = %d \n",RCC_clock.PCLK2_Frequency);
AHB 频率、高速 APB (APB2) 和低速 APB (APB1)。
一般:
APB1 = APB2/2;
APB2= AHB/2;