STM32F407时钟树

STM32F407时钟树_第1张图片

 

买了一块野火的STM32F407板子,看到RTC一章时,发现主函数如下:

STM32F407时钟树_第2张图片

说SystemInit();函数会默认把主频设置到72M,于是我就把SystemInit();函数都看了一遍。

STM32F407时钟树_第3张图片

SystemInit();函数中没有发现,再看 SetSysClock();

STM32F407时钟树_第4张图片STM32F407时钟树_第5张图片

最终倍频的参数是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;

你可能感兴趣的:(单片机)