stm32单片机的时钟有必要搞清楚。对于外设来说,关闭外设其实就是关闭它的时钟。
单片机的外设所需要的时钟来源来自4条时钟线:内部时钟/外部时钟、高速/低速。结合起来就是:内部高速时钟(HSI)、内部低速时钟(LSI)、外部高速时钟(HSE)、外部低速时钟(LSE)。
上面是时钟数(从野火资料中截取)。现在来说一下4条时钟线的路线。
1.内部高速时钟(HSI)。图片中左上角绿色框中的8MHz晶振为内部高速晶振。它有2条路线到达4号黄色框中的系统时钟。
第一条:不分频直接到达SYSCLK处。第二条:2分频后输入PLL倍频在输入SYSCLK
2.内部低速时钟(LSI)。40kHz。左下角D区。可以看到它只为RTC和看门狗提供时钟
3.外部高速时钟(HSE)。左下角靠上1号黄色区域。HSE先2分频到达PLL在到达SYSCLK
4.外部低速时钟(LSE)。32.768KHz,只给RTC提供时钟。
总结:
1.SYSCLK出来的时钟提供给AHB、APB1、APB2
2.PLL给SYSCLK提供时钟。PLL时钟来源有:内部高速时钟,外部高速时钟。PLL出来的时钟叫PLLCLK。
3.SYSCLK的时钟来源有:内部高速时钟,外部高速时钟,PLL(经过PLL倍频的内部高速时钟,外部高速时钟)
既然每个节点都能选择不同的时钟来源,现在结合寄存器:
黄色框1号:PLLXTPRE。外部高速时钟(HSE)到PLL是否分频:不分频,2分频
黄色框2号:PLLSRC。PLL的时钟来源选择(结合上面总结第2点)
黄色框3号:PLLMUL。选择倍频系数:2-16倍。
黄色框4号:SW。SYSCLK的时钟来源选择(结合上面总结第3点)