void RCC_DeInit(void)
{
RCC->CR |= (uint32_t)0x00000001; //开启内部8MHz时钟
#ifndef STM32F10X_CL //STM32F10X_CL指的是STM32互联系列微处理器
#else
//而互联型处理器的CFGR寄存器中,28-31位是保留位,24-27位属MCO
#endif
RCC->CR &= (uint32_t)0xFFFBFFFF; //
位18=0,
HSE没有旁路,只有在HSE关闭时才可以设置
#ifdef STM32F10X_CL //互联型微控制器的设置
RCC->CIR = 0x00FF0000;
RCC->CFGR2 = 0x00000000;
#elif defined (STM32F10X_LD_VL) || defined (STM32F10X_MD_VL) || defined (STM32F10X_HD_VL)
RCC->CIR = 0x009F0000; //初始化CIR时钟中断寄存器,详见注释第4条
RCC->CFGR2 = 0x00000000;
#else
RCC->CIR = 0x009F0000;
#endif
}
注释:
1、位26(27)-24=000: 微控制器没有时钟输出;
2、位24=0: PLL关闭;
3、位22=0:PLL时钟1.5倍分频作为USB时钟;
4、位23=1:清除时钟安全系统中断标志位;