STM32 时钟

  • 为什么不直接用内部时钟?

    因为内部时钟不准确,用于备用

  • MCO是什么?

     用于向外界输出芯片内的一些时钟,便于调试或向别的芯片提供时钟

  • CSS是什么?

     CSS在外部HSE时钟异常时,会自动切换到内部时钟。可用软件控制CSS是否工作

 

系统时钟初始化:

使用V3.5的固件库时,在main函数执行之前会先执行SystemInit(这一点在startup_stm32f10x_md.s中被设置)(SystemInit函数在system_stm32f10x.c中),SystemInit根据system_stm32f10x.c内预定义的系统时钟(默认SYSCLK_FREQ_72MHz 72M)和 stm32f10x.h内预定义的HSE_VALUE(默认8M)来设置各种时钟(最终默认结果:使用外部8M,系统时钟和AHB 72M,PCLK1即APB1 36M,PCLK2即APB2 72M)),SystemInit会去调用SetSysClock,SetSysClock回去调用SetSysClockTo72等,SetSysClockTo72会设置AHB,APB1,APB2等。

posted @ 2014-03-20 00:23  熄灯就睡  阅读(266)  评论(0编辑  收藏  举报