void SystemInit(void)
{
/* FPU settings ------------------------------------------------------------*/
#if (__FPU_PRESENT == 1) && (__FPU_USED == 1)
SCB->CPACR |= ((3UL << 10*2)|(3UL << 11*2)); /* set CP10 and CP11 Full Access */
#endif
//1、PRRCC控制寄存器RCC_CR 主要是PLL和PLLI2S的使能和状态、外部时钟的使能、内部时钟的校准、修正、状态、使能等
//2、PLL配置寄存器RCC_PLLCFGR 是关于PLL输出时钟的计算公司参数的设定,PLLQ/PLLP/PLLN/PLLM等
//3、RCC时钟配置寄存器RCC_CFGR 是设置输出时钟MCO12、RTC时钟分频、I2C时钟选择、AHB/APB1/APB2等时钟的分频、系统时钟的切换等。
//4、RCC时钟中断寄存器RCC_CIR 主要是各种时钟稳定后触发中断的使能以及相关的标志清零
//5、RCC_AHB1、AHB2、AHB3、APB1、APB2总线相关的寄存器主要是SET和RESET各种外设的时钟源
{
/* FPU settings ------------------------------------------------------------*/
#if (__FPU_PRESENT == 1) && (__FPU_USED == 1)
SCB->CPACR |= ((3UL << 10*2)|(3UL << 11*2)); /* set CP10 and CP11 Full Access */
#endif
/* Reset the RCC clock configuration to the default reset state ------------*/
//1、PRRCC控制寄存器RCC_CR 主要是PLL和PLLI2S的使能和状态、外部时钟的使能、内部时钟的校准、修正、状态、使能等
//2、PLL配置寄存器RCC_PLLCFGR 是关于PLL输出时钟的计算公司参数的设定,PLLQ/PLLP/PLLN/PLLM等
//3、RCC时钟配置寄存器RCC_CFGR 是设置输出时钟MCO12、RTC时钟分频、I2C时钟选择、AHB/APB1/APB2等时钟的分频、系统时钟的切换等。
//4、RCC时钟中断寄存器RCC_CIR 主要是各种时钟稳定后触发中断的使能以及相关的标志清零
//5、RCC_AHB1、AHB2、AHB3、APB1、APB2总线相关的寄存器主要是SET和RESET各种外设的时钟源