//*********************************************************************************** // Ver 1.0 // 2020.03.05 1、新建文件。 //*********************************************************************************** #ifndef __OSC__H #define __OSC__H //*********************************************************************************** #define OSC_CLK_SRC SystemCoreClock //系统时钟源 #define OSC_SYS_FREQ 24000000UL //系统时钟频率 //模块时钟初始化 #define RCC_AHBPeriph (RCC_AHBPeriph_SRAM | RCC_AHBPeriph_GPIOA | RCC_AHBPeriph_GPIOB | RCC_AHBPeriph_GPIOC | RCC_AHBPeriph_GPIOF) #define RCC_APB1Periph (RCC_APB1Periph_PWR | RCC_APB1Periph_USART2) #define RCC_APB2Periph (RCC_APB2Periph_SYSCFG | RCC_APB2Periph_DBGMCU | RCC_APB2Periph_ADC1 | RCC_APB2Periph_USART1) //*********************************************************************************** //系统默认使用内部8M时钟 #define OSC_Init() do{ \ RCC_ClocksTypeDef RCC_Info; \ RCC_HSEConfig(RCC_HSE_OFF); \ RCC_PLLCmd(DISABLE); \ RCC_PLLConfig(RCC_PLLSource_HSI_Div2, RCC_PLLMul_6);\ RCC_PLLCmd(ENABLE); \ RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK); \ RCC_HCLKConfig(RCC_SYSCLK_Div1); \ RCC_LSICmd(ENABLE); \ while(RCC_GetFlagStatus(RCC_FLAG_LSIRDY) == RESET); \ RCC_GetClocksFreq((RCC_ClocksTypeDef *)&RCC_Info); \ RCC_AHBPeriphClockCmd(RCC_AHBPeriph, ENABLE); \ RCC_APB1PeriphClockCmd(RCC_APB1Periph, ENABLE); \ RCC_APB2PeriphClockCmd(RCC_APB2Periph, ENABLE); \ }while(0) #endif