|
楼主 |
发表于 2012-11-4 19:26:43
|
显示全部楼层
system_stm32f4xx.c 文件中 void SetSysClock(void) 函数对时钟的配置如下:
HCLK = SYSCLK / 1 (AHB1Periph) = 168MHz
PCLK2 = HCLK / 2 (APB2Periph) = 84MHz
PCLK1 = HCLK / 4 (APB1Periph) = 42MHz
因为APB1 prescaler != 1, 所以 APB1上的TIMxCLK = PCLK1 x 2 = SystemCoreClock / 2;
因为APB2 prescaler != 1, 所以 APB2上的TIMxCLK = PCLK2 x 2 = SystemCoreClock;
APB1 定时器有 TIM2, TIM3 ,TIM4, TIM5, TIM6, TIM6, TIM12, TIM13,TIM14
APB2 定时器有 TIM1, TIM8 ,TIM9, TIM10, TIM11
实际测试,APB1 上的 TIM输出PWM信号最大频率 = 42MHz |
|