新手上路
- 积分
- 40
- 金钱
- 40
- 注册时间
- 2015-3-2
- 在线时间
- 0 小时
|

楼主 |
发表于 2015-3-4 10:29:54
|
显示全部楼层
回复【2楼】正点原子:
---------------------------------
整体程序如下
void Clock_Init(void)
{
u8 i;
RCC_DeInit ( );
RCC_HSEConfig(RCC_HSE_OFF); //关闭HSE时钟
RCC_HSICmd(ENABLE); //时能HSI时钟
while(RCC_GetFlagStatus ( RCC_FLAG_HSIRDY) == RESET ) //等待HSI时钟稳定
{
}
FLASH_PrefetchBufferCmd(ENABLE); //开启FLASH预读缓冲功能,加速FLASH的读取
FLASH_SetLatency(FLASH_Latency_1); //FLASH时序延迟1个周期,等待总线同步操作
RCC_PLLConfig(RCC_PLLSource_HSI,RCC_PLLMul_4,RCC_PLLDiv_2); //HSI作为PLL时钟4倍频,2分频
RCC_HCLKConfig(RCC_SYSCLK_Div1); //AHB = SYSCLK 16M
RCC_PCLK2Config(RCC_HCLK_Div1) ; //APB2=16M
RCC_PCLK1Config(RCC_HCLK_Div1); //APB1=16M
RCC_PLLCmd(ENABLE); //只能PLL时钟
while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET) //PLL稳定
{
}
RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK) ; //选用PLL时钟为系统时钟32M
i=RCC_GetSYSCLKSource();
while(RCC_GetSYSCLKSource()!= 0x0C)//while(RCC_GetSYSCLKSource()!= 0x0C)// //等待时钟稳定
{
}
} |
|