STM32F103ZE系统初始化简介

STM32F103ZE系统初始化简介

1. RCC寄存器初始化

  1. 开启内部振荡器(HSI,频率为8Mhz)。

  2. 复位 SW, HPRE, PPRE1, PPRE2, ADCPRE 以及 MCO 的设置。

    2.1 设置HSI作为系统时钟。

    2.2 设置ADC时钟预分频为PCLK2 2分频。

    2.3 设置AHB的时钟由HCLK提供。

    2.4 设置APB1的时钟由HCLK提供。

    2.5 设置APB2的时钟由HCLK提供。

    2.6 设置ADC的时钟由PCLK2 2分频后提供。

    2.7 配置MCU时钟输出为系统时钟输出。

  3. 复位 HSEON, CSSON 以及 PLLON 的设置。

    3.1 关闭外部高速时钟(HSE)。

    3.2 关闭时钟监测器。

    3.3 关闭PLL。

  4. 复位 HSEBYP 的设置(设置外部高速时钟没有旁路)。

  5. 复位 PLLSRC, PLLXTPRE, PLLMUL 以及 USBPRE/OTGFSPRE 的设置。

    5.1 设置HSI振荡器时钟经2分频后作为PLL输入时钟(只能在关闭PLL时才能写入此位)。

    5.2 设置HSE振荡器时钟作为PLL输入时钟(如果HSE振荡器开启的话,只能在关闭PLL时才能写入此位)。

    5.3 设置PLL倍频系数为2倍频输出(PLL的输出频率不能超过72MHz,只能在关闭PLL时才能写入此位)。

    5.4 设置USB时钟由PLL时钟1.5倍分频后提供。

  6. 禁用RCC中断以及清除RCC就绪中断标识(详情参考RCC_CIR寄存器)。

2. 设置系统时钟频率

  1. 开启HSE振荡器。

  2. 等待HSE振荡器就绪。

  3. 开启预取缓冲区。

  4. 设置系统时钟周期与闪存访问时间延时2个等待状态。

  5. 设置APB1的时钟由HCLK 2分频后提供。

  6. HSE分频器不分频作为PLL输入时钟。

  7. 开启PLL并等待其就绪。

  8. 设置PLL输出作为系统时钟并等待其就绪。

3. 将中断向量表存储在Flash中

你可能感兴趣的:(STM32)