新手上路
- 积分
- 29
- 金钱
- 29
- 注册时间
- 2014-12-3
- 在线时间
- 2 小时
|
http://item.taobao.com/item.htm?spm=686.1000925.0.0.BIFw7T&id=39947701892
void RCC_Configuration(void)
{
ErrorStatus HSEStartUpStatus;
RCC_DeInit(); //?±?????í???? /* RCC system reset(for debug purpose) */
RCC_HSEConfig(RCC_HSE_ON); //?ò???????§?? //Enable HSE
HSEStartUpStatus = RCC_WaitForHSEStartUp(); //?????????§?????÷ //Wait till HSE is ready
if(HSEStartUpStatus == SUCCESS)
{
RCC_HCLKConfig(RCC_SYSCLK_Div1); //AHB?????????±?? //HCLK = SYSCLK
RCC_PCLK2Config(RCC_HCLK_Div1); //APB2??HCLK/1 //PCLK2 = HCLK/1
RCC_PCLK1Config(RCC_HCLK_Div2); //APB1??HCLK/2 //PCLK1 = HCLK/2
RCC_ADCCLKConfig(RCC_PCLK2_Div4); //?è??ADC?±??????
//×???AHB?÷???????????????÷?±????PB2????AD??I/O??????TIM???®??1??APB1????DA??USB??SPI??I2C??CAN???®??2345?????¨TIM??
//FLASH_SetLatency(FLASH_Latency_2); //flash??×÷?????± //Flash 2 wait state
//FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable); //flash?????????????? //Enable Prefetch Buffer
RCC_PLLConfig(RCC_PLLSource_HSE_Div1, RCC_PLLMul_9); //PLLCLK = 8MHz * 9 = 72MHz
RCC_PLLCmd(ENABLE); //????PLL //Enable PLL
while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET) //????PLL???? /* Wait till PLL is ready */
{
}
RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK); //??PLL?è?????????±???? /* Select PLL as system clock source */
while(RCC_GetSYSCLKSource() != 0x08) //?????????±?????????? /* Wait till PLL is used as system clock source */
{
}
}
// RCC_HSICmd(ENABLE);//?????????????§?? ;
// RCC_SYSCLKConfig(RCC_SYSCLKSource_HSI);//?????????????±??×÷???????±??SYSCLOCK=8MHZ
// RCC_HCLKConfig(RCC_SYSCLK_Div1);//????HCLK?±???????????±??SYSCLOCK
// RCC_PCLK1Config(RCC_HCLK_Div4);//APB1?±????2M
// RCC_PCLK2Config(RCC_HCLK_Div4);//APB2?±????2M
RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO,ENABLE);
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC,ENABLE);
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOD,ENABLE);
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOE,ENABLE);
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOF,ENABLE);
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOG,ENABLE);
}
|
|