下面为system_stm32f10x.c中代码
#if defined (STM32F10X_LD_VL) || (defined STM32F10X_MD_VL)
/* #define SYSCLK_FREQ_HSE HSE_Value */
#define SYSCLK_FREQ_24MHz 24000000
#else
/* #define SYSCLK_FREQ_HSE HSE_Value */
/* #define SYSCLK_FREQ_24MHz 24000000 */
/* #define SYSCLK_FREQ_36MHz 36000000 */
/* #define SYSCLK_FREQ_48MHz 48000000 */
/* #define SYSCLK_FREQ_56MHz 56000000 */
#define SYSCLK_FREQ_72MHz 72000000
#endif
下面为RTC_Configuration()之前的初始化代码,其中SystemInit();为库函数,有初始化HSE,固件版本version V3.3.0
void RCC_Configuration()
{
/* SYSCLK, HCLK, PCLK2 and PCLK1 configuration -----------------------------
RCC system reset(for debug purpose)
----------------------------------------------------------------------
SYSCLK: 72 MHZ
HCLK : 72 MHZ
PCLK1 : 36 MHZ
PCLK2 : 72 MHZ
USB : 48MHZ
ADC : 9MHZ //最大只能到 14MHZ
RCC_ClocksTypeDef RCC_ClockFreq;
SystemInit();
/* Select USBCLK source */
RCC_USBCLKConfig(RCC_USBCLKSource_PLLCLK_1Div5);
/* Enable the USB clock */
RCC_APB1PeriphClockCmd(RCC_APB1Periph_USB, ENABLE);
/* ADCCLK = PCLK2/8*/
RCC_ADCCLKConfig(RCC_PCLK2_Div8);
/* Enable SYSTICK clock */
SysTick_Config(SysTick_CLKSource_HCLK_Div8);
/* Enable CRC clock */
// RCC_AHBPeriphClockCmd(RCC_AHBPeriph_CRC, ENABLE);
/**************************************************
获取RCC的信息,调试用
请参考RCC_ClocksTypeDef结构体的内容,当时钟配置完成后,
里面变量的值就直接反映了器件各个部分的运行频率
***************************************************/
RCC_GetClocksFreq(&RCC_ClockFreq);
// RCC_ClockSecuritySystemCmd(ENABLE); //启动时钟安全系统CSS
}
|