时钟树见最后(stm32F407VGET6)
1、首先需要明确的一点是时钟的配置
主时钟、外设对应时钟参考时钟树:如下
例如:
可以通过如下配置:也即是【1】中的默认配置 (system_stm32F4xx.c的SetSysClock函数 )
配置SYSCLK、HCLK、PCLK2、PCLK1
配置主时钟:
参考【1】中写的不错:
其中内部/外部时钟的选择:
通过相应的寄存器配置RCC->CFGR,
一开始选择的是内部时钟HSI,后面再使用外部时钟8MHz晶振;如果外部晶振不稳,则还是自动使用内部时钟
另一个配置(可以在设置RCC函数在main函数中再次重新定义时钟 )RCC函数配置:
得出的
系统时钟=168M
AHB=168M
APB1=84M(二分频PCLK1)
APB2=168M (一分频PCLK2)
各个总线的分配,以及AHB总线上挂载的什么?APB1总线上挂载的什么?APB2总线上挂载的什么?
可通过总线矩阵进行主控总线之间的访问仲裁管理,仲裁采用循环调度算法
具体的外设所挂接的总线见p52,如下表
其中:借助两个 AHB/APB 总线桥 APB1 和 APB2,可在 AHB 总线与两个 APB 总线之间实现完全
同步的连接,从而灵活选择外设频率。
表1:
时钟树:
【1】STM32F4开发指南-库函数版本
【2】STM32F4XX中文参考手册