本文整理汇总了C++中RCC_PLLCmd函数的典型用法代码示例。如果您正苦于以下问题:C++ RCC_PLLCmd函数的具体用法?C++ RCC_PLLCmd怎么用?C++ RCC_PLLCmd使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了RCC_PLLCmd函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: RCC_Configuration
/**
* @brief Configures the different system clocks.
* @param None
* @retval : None
*/
void RCC_Configuration(void)
{
/* RCC system reset(for debug purpose) */
RCC_DeInit();
/* Enable HSE */
RCC_HSEConfig(RCC_HSE_ON);
/* Wait till HSE is ready */
HSEStartUpStatus = RCC_WaitForHSEStartUp();
if (HSEStartUpStatus == SUCCESS)
{
/* Enable Prefetch Buffer */
FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable);
/* Flash 2 wait state */
FLASH_SetLatency(FLASH_Latency_2);
/* HCLK = SYSCLK */
RCC_HCLKConfig(RCC_SYSCLK_Div1);
/* PCLK2 = HCLK */
RCC_PCLK2Config(RCC_HCLK_Div1);
/* PCLK1 = HCLK/4 */
RCC_PCLK1Config(RCC_HCLK_Div4);
/* PLLCLK = 8MHz * 9 = 72 MHz */
RCC_PLLConfig(RCC_PLLSource_HSE_Div1, RCC_PLLMul_9);
/* Enable PLL */
RCC_PLLCmd(ENABLE);
/* Wait till PLL is ready */
while (RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET)
{}
/* Select PLL as system clock source */
RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);
/* Wait till PLL is used as system clock source */
while (RCC_GetSYSCLKSource() != 0x08)
{}
}
/* TIM2 clock enable */
RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2, ENABLE);
/* GPIOA clock enable */
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);
}
开发者ID:jiesse,项目名称:time-meter,代码行数:57,代码来源:main.c
示例2: ClkSwitch2HseSystemInit
void ClkSwitch2HseSystemInit (void)
{
ErrorStatus HSEStartUpStatus;
/* RCC system reset(for debug purpose) */
RCC_DeInit();
RCC_HSICmd(DISABLE); //Turn of the internal RC;
/* Enable HSE */
RCC_HSEConfig(RCC_HSE_ON);
/* Wait till HSE is ready */
HSEStartUpStatus = RCC_WaitForHSEStartUp();
if(HSEStartUpStatus == SUCCESS)
{
/* Enable Prefetch Buffer */
FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable);
/* Flash 2 wait state */
FLASH_SetLatency(FLASH_Latency_2);
/* HCLK = SYSCLK */
RCC_HCLKConfig(RCC_SYSCLK_Div1);
/* PCLK2 = HCLK */
RCC_PCLK2Config(RCC_HCLK_Div1);
/* PCLK1 = HCLK/2 */
RCC_PCLK1Config(RCC_HCLK_Div2);
/* PLLCLK = 10MHz * 7 = 70 MHz */
RCC_PLLConfig(RCC_PLLSource_HSE_Div1, RCC_PLLMul_7);
/* Enable PLL */
RCC_PLLCmd(ENABLE);
/* Wait till PLL is ready */
while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET)
{
}
/* Select PLL as system clock source */
RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);
/* Wait till PLL is used as system clock source */
while(RCC_GetSYSCLKSource() != 0x08)
{
}
}
}
开发者ID:Ryoma521,项目名称:CHLMPZ103,代码行数:51,代码来源:timeapp.c
示例3: cpu_reclock
void cpu_reclock(const ClockDef_t *clk) {
// Disable interrupts
cli();
// Switch to HSE (as changing PLL while using it is asking for trouble)
RCC_SYSCLKConfig(RCC_SYSCLKSource_HSE);
while(RCC_GetSYSCLKSource() != (uint32_t)RCC_CFGR_SWS_HSE); // Wait for completion
// Disable PLL
RCC_PLLCmd(DISABLE);
// Set HCLK & PCLK from table
RCC_HCLKConfig(clk->hps);
RCC_PCLK2Config(clk->pps2);
RCC_PCLK1Config(clk->pps1);
// Set flash latency from table
FLASH_SetLatency(clk->f_latency);
// Use PLL?
if(clk->m) {
// Configure PLL
RCC_PLLConfig(RCC_PLLCFGR_PLLSRC_HSE, clk->m, clk->n, clk->p, clk->q);
// Enable PLL
RCC_PLLCmd(ENABLE);
// Wait for PLL to become stable
while (RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET);
// Switch to PLL
RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);
while (RCC_GetSYSCLKSource() != (uint32_t)RCC_CFGR_SWS_PLL); // Wait for completion
}
// Update system tick
SystemCoreClockUpdate();
SysTick_Config(SystemCoreClock / 1000);
sei();
}
开发者ID:stg,项目名称:SmartWatch_Toolchain,代码行数:38,代码来源:driver_power.c
示例4: clockInit
void clockInit()
{
// divide HCLK / 2
RCC_HCLKConfig(RCC_SYSCLK_Div2);
// enable HSI
RCC_HSICmd(ENABLE);
RCC_PLLCmd(DISABLE);
// wait for HSI to get ready
while (RCC_GetFlagStatus(RCC_FLAG_HSIRDY) == RESET);
// configure PLL - x4 /2
RCC_PLLConfig( RCC_PLLSource_HSI, RCC_PLLMul_8, RCC_PLLDiv_4 );
RCC_PLLCmd(ENABLE);
while ( RCC_GetFlagStatus( RCC_FLAG_PLLRDY ) == RESET );
// set hsi as clock
//RCC_SYSCLKConfig(RCC_SYSCLKSource_HSI);
// set pll as clock
RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);
}
开发者ID:BinarySpace-Hackerspace,项目名称:stm32tuts,代码行数:23,代码来源:main.c
示例5: RCC_Config
void RCC_Config(void)
{
RCC_DeInit();
RCC_HSEConfig(RCC_HSE_ON); //Включим внешний генератор
while (SUCCESS != RCC_WaitForHSEStartUp()); //Подождем запуска генератора
RCC_PLLCmd(DISABLE);
RCC_PLLConfig(RCC_PLLSource_PREDIV1,RCC_PLLMul_12); //Вход ПЛЛ внешний генератор умножим на 12
RCC_PLLCmd(ENABLE);
RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK); //Системное тактирование от ПЛЛ
RCC_HCLKConfig(RCC_SYSCLK_Div1); //Тактирование AHB с делением 1
RCC_PCLKConfig(RCC_HCLK_Div8); //Тактирование переферии с делением 8
RCC_ADCCLKConfig(RCC_ADCCLK_PCLK_Div2); //Тактирование АЦП
RCC_I2CCLKConfig(RCC_I2C1CLK_SYSCLK); //Тактируем шину I2C от системного тактирования
RCC_USARTCLKConfig(RCC_USART1CLK_PCLK); //Тактируем UART от шини переферии
RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOA + RCC_AHBPeriph_GPIOB,ENABLE);
RCC_APB2PeriphClockCmd(RCC_APB2Periph_SPI1 + RCC_APB2Periph_USART1 + RCC_APB2Periph_TIM1 + RCC_APB2Periph_TIM15, ENABLE);
RCC_APB2PeriphClockCmd(RCC_APB2Periph_SPI1, ENABLE);
RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC1, ENABLE);
RCC_APB1PeriphClockCmd(RCC_APB1Periph_I2C1, ENABLE);
RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM14, ENABLE);
RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3, ENABLE);
#ifdef MCO_ENABLE
GPIOA_Struct_init.GPIO_Pin = GPIO_Pin_8;
GPIOA_Struct_init.GPIO_Mode = GPIO_Mode_AF;
GPIOA_Struct_init.GPIO_Speed = GPIO_Speed_Level_2;
GPIOA_Struct_init.GPIO_OType = GPIO_OType_PP;
GPIO_Init(GPIOA,&GPIOA_Struct_init);
RCC_MCOConfig(RCC_MCOSource_SYSCLK);
while (1);
#else
RCC_MCOConfig(RCC_MCOSource_NoClock);
#endif /*MCO_ENABLE */
};
开发者ID:avr-master,项目名称:M-02-15003,代码行数:37,代码来源:main.c
示例6: RCC_Configuration
/*****************************************************************************
* Function Name : RCC_Configuration
* Description : Reset and Clock Control configuration
* Input : None
* Output : None
* Return : None
******************************************************************************/
void RCC_Configuration(void)
{
ErrorStatus HSEStartUpStatus;
/* Reset the RCC clock configuration to default reset state */
RCC_DeInit();
/* Configure the High Speed External oscillator */
RCC_HSEConfig(RCC_HSE_ON);
/* Wait for HSE start-up */
HSEStartUpStatus = RCC_WaitForHSEStartUp();
if(HSEStartUpStatus == SUCCESS)
{
/* Enable Prefetch Buffer */
FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable);
/* Set the code latency value: FLASH Two Latency cycles */
FLASH_SetLatency(FLASH_Latency_2);
/* Configure the AHB clock(HCLK): HCLK = SYSCLK */
RCC_HCLKConfig(RCC_SYSCLK_Div1);
/* Configure the High Speed APB2 clcok(PCLK2): PCLK2 = HCLK */
RCC_PCLK2Config(RCC_HCLK_Div1);
/* Configure the Low Speed APB1 clock(PCLK1): PCLK1 = HCLK/2 */
RCC_PCLK1Config(RCC_HCLK_Div2);
/* Configure the PLL clock source and multiplication factor */
/* PLLCLK = HSE*PLLMul = 8*9 = 72MHz */
RCC_PLLConfig(RCC_PLLSource_HSE_Div1, RCC_PLLMul_9);
/* Enable PLL */
RCC_PLLCmd(ENABLE);
/* Check whether the specified RCC flag is set or not */
/* Wait till PLL is ready */
while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET);
/* Select PLL as system clock source */
RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);
/* Get System Clock Source */
/* Wait till PLL is used as system clock source */
while(RCC_GetSYSCLKSource() != 0x08);
}
}
开发者ID:Tonio5978,项目名称:stm32-codes,代码行数:56,代码来源:rcc.c
示例7: RCC_Internal_Configuration
void RCC_Internal_Configuration(void)
{
ErrorStatus HSEStartUpStatus;
//将外设 RCC寄存器重设为缺省值
RCC_DeInit();
RCC_HSICmd(ENABLE);
while(RCC_GetFlagStatus(RCC_FLAG_HSIRDY) == RESET);
if(HSEStartUpStatus == SUCCESS)
{
RCC_HCLKConfig(RCC_SYSCLK_Div1);
RCC_PCLK2Config(RCC_HCLK_Div1);
RCC_PCLK1Config(RCC_HCLK_Div2);
//设置 PLL 时钟源及倍频系数
RCC_PLLConfig(RCC_PLLSource_HSI_Div2, RCC_PLLMul_2);
//使能或者失能 PLL,这个参数可以取:ENABLE或者DISABLE
RCC_PLLCmd(ENABLE);//如果PLL被用于系统时钟,那么它不能被失能
//等待指定的 RCC 标志位设置成功 等待PLL初始化成功
while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET);
//设置系统时钟(SYSCLK) 设置PLL为系统时钟源
RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);
//等待PLL成功用作于系统时钟的时钟源
// 0x00:HSI 作为系统时钟
// 0x04:HSE作为系统时钟
// 0x08:PLL作为系统时钟
while(RCC_GetSYSCLKSource() != 0x08);
}
}
开发者ID:zxynk666666,项目名称:bluenergy_wn,代码行数:48,代码来源:system_init.c
示例8: fastMode
void fastMode() {
RCC_DeInit();
RCC_HSEConfig(RCC_HSE_ON);
if (RCC_WaitForHSEStartUp() == ERROR) {
return;
}
RCC_PLLConfig(RCC_PLLSource_HSE, 8, 336, 2, 15);
RCC_PLLCmd(ENABLE);
RCC_WaitForPLLSturtUp();
RCC_HCLKConfig(RCC_SYSCLK_Div4);
RCC_PCLK1Config(RCC_HCLK_Div1);
RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);
}
开发者ID:ADTL,项目名称:stm32f4-examples,代码行数:16,代码来源:main.c
示例9: RCC_Config
/**************************************************************/
//程 序 名: RCC_Config()
//开 发 者: Haichao.Xie
//入口参数: 无
//功能说明: 系统时钟配置
//**************************************************************/
void RCC_Config(void)
{
ErrorStatus HSEStartUpStatus; //定义结构体
/* RCC system reset(for debug purpose)将外设 RCC寄存器重设为缺省值 */
RCC_DeInit();
/* Enable HSE 设置外部高速晶振(HSE)*/
RCC_HSEConfig(RCC_HSE_ON);
/* Wait till HSE is ready 等待 HSE 起振*/
HSEStartUpStatus = RCC_WaitForHSEStartUp();
if (HSEStartUpStatus == SUCCESS)
{
/* Enable Prefetch Buffer 预取指缓存使能*/
FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable);
/* Flash 2 wait state 设置代码延时值*/
FLASH_SetLatency(FLASH_Latency_2);
/* HCLK = SYSCLK 设置 AHB 时钟(HCLK)*/
RCC_HCLKConfig(RCC_SYSCLK_Div1);
/* PCLK2 = HCLK 设置高速 AHB 时钟(PCLK2)*/
RCC_PCLK2Config(RCC_HCLK_Div1);
/* PCLK1 = HCLK/1 设置低速 AHB 时钟(PCLK1)*/
RCC_PCLK1Config(RCC_HCLK_Div1);
/* PLLCLK = 12MHz * 6 = 72 MHz 设置 PLL 时钟源及倍频系数*/
RCC_PLLConfig(RCC_PLLSource_HSE_Div1, RCC_PLLMul_6);
/* Enable PLL 使能或者失能 PLL*/
RCC_PLLCmd(ENABLE);
/* Wait till PLL is ready 等待指定的 RCC 标志位设置成功 等待PLL初始化成功*/
while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET)
{
}
/* Select PLL as system clock source 设置系统时钟(SYSCLK) 设置PLL为系统时钟源*/
RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);
/* Wait till PLL is used as system clock source 等待PLL成功用作于系统时钟的时钟源*/
while(RCC_GetSYSCLKSource() != 0x08)
{
}
}
}
开发者ID:sunzhongmeng,项目名称:ufun-demo,代码行数:52,代码来源:main.c
示例10: RCC_Configuration
static void RCC_Configuration(void)
{
/*---------------------------------*/
/* /!\ PLL2 not configured /!\ */
/*---------------------------------*/
ErrorStatus HSEStartUpStatus;
// RCC system reset(for debug purpose)
RCC_DeInit();
// Enable HSE
RCC_HSEConfig(RCC_HSE_ON);
// Wait till HSE is ready
HSEStartUpStatus = RCC_WaitForHSEStartUp();
if(HSEStartUpStatus == SUCCESS)
{
// Enable Prefetch Buffer
FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable);
// Flash 2 wait state
FLASH_SetLatency(FLASH_Latency_2);
// HCLK = SYSCLK
RCC_HCLKConfig(RCC_SYSCLK_Div1);
// PCLK2 = HCLK
RCC_PCLK2Config(RCC_HCLK_Div1);
// PCLK1 = HCLK/2
RCC_PCLK1Config(RCC_HCLK_Div2);
/* ADCCLK = PCLK2/4 */
RCC_ADCCLKConfig(RCC_PCLK2_Div4);
// PLLCLK = 8MHz * 9 = 72 MHz
RCC_PLLConfig(RCC_PLLSource_HSE_Div1, RCC_PLLMul_9);
// Enable PLL
RCC_PLLCmd(ENABLE);
// Wait till PLL is ready
while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET)
{;}
// Select PLL as system clock source
RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);
// Wait till PLL is used as system clock source
while(RCC_GetSYSCLKSource() != 0x08) ///????
{;}
}
/* Enable peripheral clocks (FOR USART1)---------------------------------*/
RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2, ENABLE);
/* Enable GPIOA / GPIOC clock */
RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE);
}
开发者ID:ozwin,项目名称:erts-project,代码行数:46,代码来源:bsp.c
示例11: RCC_Configuration
/*
* RCC时钟频率引脚配置
*/
void RCC_Configuration(void)
{
//定义错误状态变量
ErrorStatus HSEStartUpStatus;
//将RCC寄存器重新设置为默认值
RCC_DeInit();
//打开外部高速时钟晶振
RCC_HSEConfig(RCC_HSE_ON);
//等待外部高速时钟晶振工作
HSEStartUpStatus = RCC_WaitForHSEStartUp();
if(HSEStartUpStatus != SUCCESS) return;
//使能预取指缓存
FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable);
//设置FLASH代码延时
FLASH_SetLatency(FLASH_Latency_2);
//设置AHB时钟(HCLK)为系统时钟
RCC_HCLKConfig(RCC_SYSCLK_Div1);
//设置高速AHB时钟(APB2)为HCLK时钟
RCC_PCLK2Config(RCC_HCLK_Div1);
//设置低速AHB时钟(APB1)为HCLK的2分频
RCC_PCLK1Config(RCC_HCLK_Div2);
//设置PLL时钟,为HSE的12倍频 PLLCLK = 12MHz/2 * 12 = 72 MHz
RCC_PLLConfig(RCC_PLLSource_HSE_Div2, RCC_PLLMul_12);
//使能PLL
RCC_PLLCmd(ENABLE);
//等待PLL准备就绪
while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET);
//设置PLL为系统时钟源
RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);
//判断PLL是否是系统时钟
while(RCC_GetSYSCLKSource() != 0x08);
}
开发者ID:yoy52012,项目名称:LoraSignalSlaveTest,代码行数:48,代码来源:main.c
示例12: RCC_Configuration
void RCC_Configuration(void)
{
ErrorStatus HSEStartUpStatus;
RCC_DeInit();
RCC_HSEConfig(RCC_HSE_ON);
HSEStartUpStatus = RCC_WaitForHSEStartUp();
if(HSEStartUpStatus == SUCCESS)
{
RCC_HCLKConfig(RCC_SYSCLK_Div1);
RCC_PCLK2Config(RCC_HCLK_Div1);
RCC_PCLK1Config(RCC_HCLK_Div2);
FLASH_SetLatency(FLASH_Latency_2);
FLASH_PrefetchBufferCmd(ENABLE);
RCC_PLLConfig(RCC_PLLSource_HSE_Div1,RCC_PLLMul_9);
RCC_PLLCmd(ENABLE);
while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY)==RESET);
RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);
while(RCC_GetSYSCLKSource() !=0x08);
// the following is the selected part of the clock inicialization, according to your connecting devices
//SPI1 clock open
RCC_APB2PeriphClockCmd(RCC_APB2Periph_SPI1,ENABLE);
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);
//USART-XTend (wireless data transmittion) clock open
RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART3, ENABLE);
//USART-GPS clock open
RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1, ENABLE);
//USART-sensor clock open
RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART2, ENABLE);
//GPIO LED clock open
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC,ENABLE);
//GPIO Launching clock open
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC,ENABLE);
SysTick_ITConfig(ENABLE);
}
}
开发者ID:dunchen,项目名称:ASR-project,代码行数:45,代码来源:main.c
示例13: RCC_Wakeup
//when wakeup by alarm, configure rcc
void RCC_Wakeup(void)
{
GPIOC->ODR ^= 0X0010;
//enable PLL
RCC_PLLCmd(ENABLE);
// Wait till PLL is ready
while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET)
{}
// Select PLL as system clock source
RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);
// Wait till PLL is used as system clock source
while(RCC_GetSYSCLKSource() != 0x08)
{}
GPIOC->ODR ^= 0X0010;
}
开发者ID:Babody,项目名称:openwsn-fw,代码行数:19,代码来源:rcc.c
示例14: RCC_HSE_Configuration
void RCC_HSE_Configuration(void){
RCC_DeInit(); /*将外设RCC寄存器重设为缺省值 */
RCC_HSEConfig(RCC_HSE_ON); /*设置外部高速晶振打开*/
if(RCC_WaitForHSEStartUp() == SUCCESS) { /*等待HSE起振,晶振稳定且就绪*/
RCC_HCLKConfig(RCC_SYSCLK_Div1);/*设置AHB时钟*/
RCC_PCLK2Config(RCC_HCLK_Div1); /*设置高速AHB时钟*/
RCC_PCLK1Config(RCC_HCLK_Div2); /*设置低速AHB时钟*/
RCC_PLLConfig(RCC_PLLSource_HSE_Div1, RCC_PLLMul_9);/*设置PLL时钟源、倍频系数*/
RCC_PLLCmd(ENABLE);//使能PLL
while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET);//检查指定RCC标志位
RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK); //设置系统时钟
while(RCC_GetSYSCLKSource() != 0x08); //PLL作为系统时钟
}
}
开发者ID:InfiniteYuan1,项目名称:STM32,代码行数:18,代码来源:pData.c
示例15: TSVN_FOSC_Init
void TSVN_FOSC_Init(void)
{
RCC_DeInit();
RCC_HSEConfig(RCC_HSE_ON);
while(RCC_WaitForHSEStartUp() != SUCCESS);
RCC_PREDIV1Config(RCC_PREDIV1_Source_HSE, RCC_PREDIV1_Div1);
RCC_HCLKConfig(RCC_SYSCLK_Div1);
RCC_PCLK2Config(RCC_HCLK_Div2);
RCC_PCLK1Config(RCC_HCLK_Div2);
RCC_PLLConfig(RCC_PLLSource_PREDIV1, RCC_PLLMul_9);
RCC_PLLCmd(ENABLE);
while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET);
RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);
while(RCC_GetSYSCLKSource() != 0x08)
SysTick_CLKSourceConfig(SysTick_CLKSource_HCLK);
SystemCoreClockUpdate();
SysTick_Config(SystemCoreClock/1000);
}
开发者ID:NguyenTrongThinh,项目名称:FindPIDCoff,代码行数:18,代码来源:AMES_CLOCK.c
示例16: RCC_HSICmd
void Startup::clkInit()
{
// Set STKALIGN in NVIC
SCB->CCR |= 0x200;
// 1. Clocking the controller from internal HSI RC (8 MHz)
RCC_HSICmd(ENABLE);
// wait until the HSI is ready
while(RCC_GetFlagStatus(RCC_FLAG_HSIRDY) == RESET);
RCC_SYSCLKConfig(RCC_SYSCLKSource_HSI);
// 2. Enable ext. high frequency OSC
RCC_HSEConfig(RCC_HSE_ON);
// wait until the HSE is ready
while(RCC_GetFlagStatus(RCC_FLAG_HSERDY) == RESET);
// 3. Init PLL
RCC_PLLConfig(RCC_PLLSource_HSE_Div1,RCC_PLLMul_9); // 72MHz
// RCC_PLLConfig(RCC_PLLSource_HSE_Div2,RCC_PLLMul_9); // 72MHz
RCC_PLLCmd(ENABLE);
// wait until the PLL is ready
while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET);
// 4. Set system clock dividers
RCC_USBCLKConfig(RCC_USBCLKSource_PLLCLK_1Div5);
RCC_ADCCLKConfig(RCC_PCLK2_Div8);
RCC_PCLK2Config(RCC_HCLK_Div1);
RCC_PCLK1Config(RCC_HCLK_Div2);
RCC_HCLKConfig(RCC_SYSCLK_Div1);
// Flash 1 wait state
// *(vu32 *)0x40022000 = 0x12;
// *(vu32 *)0x40022000 = 0x01;
// Enable Prefetch Buffer
FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable);
// Flash 2 wait state
FLASH_SetLatency(FLASH_Latency_2);
// Select PLL as system clock source
RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);
// Wait till PLL is used as system clock source
while(RCC_GetSYSCLKSource() != 0x08)
{
}
}
开发者ID:ozwin,项目名称:desenet,代码行数:44,代码来源:startup.cpp
示例17: RCC_Configuration
void RCC_Configuration(void)
{
/* RCC system reset(for debug purpose) */
RCC_DeInit();
/* Enable HSE */
RCC_HSEConfig(RCC_HSE_ON);
/* Wait till HSE is ready */
while (RCC_GetFlagStatus(RCC_FLAG_HSERDY) == RESET)
;
/* Enable Prefetch Buffer */
FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable);
/* Flash 2 wait state */
FLASH_SetLatency(FLASH_Latency_2);
/* HCLK = SYSCLK */
RCC_HCLKConfig(RCC_SYSCLK_Div1);
/* PCLK2 = HCLK */
RCC_PCLK2Config(RCC_HCLK_Div1);
/* PCLK1 = HCLK/2 */
RCC_PCLK1Config(RCC_HCLK_Div2);
/* PLLCLK = 8MHz * 9 = 72 MHz */
RCC_PLLConfig(RCC_PLLSource_HSE_Div1, RCC_PLLMul_9);
/* Enable PLL */
RCC_PLLCmd(ENABLE);
/* Wait till PLL is ready */
while (RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET)
;
/* Select PLL as system clock source */
RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);
/* Wait till PLL is used as system clock source */
while (RCC_GetSYSCLKSource() != 0x08)
;
}
开发者ID:airgrzybek,项目名称:u-boot_stm32f10x,代码行数:44,代码来源:clock.c
示例18: RCC_Configuration
void RCC_Configuration(void)
{
/* 定义枚举型变量HSEStartUpStatus */
ErrorStatus HSEStartUpStatus;
/* 复位系统时钟设置*/
RCC_DeInit();
/* 开启HSE*/
RCC_HSEConfig(RCC_HSE_ON);
/* 等待HSE启振并稳定*/
HSEStartUpStatus = RCC_WaitForHSEStartUp();
/*判断HSE是否起振成功, */
if(HSEStartUpStatus == SUCCESS)
{
/* 选择HCLK(AHB)时钟源为 SYSCLK 1分频 */
RCC_HCLKConfig(RCC_SYSCLK_Div1);
/* 选择PCLK2时钟源为HCLK(AHB) 1分频*/
RCC_PCLK2Config(RCC_HCLK_Div1);
/* 选择PCLK1时钟源为HCLK(AHB) 2分频*/
RCC_PCLK1Config(RCC_HCLK_Div2);
/* 设置FLASH延时周期数为2 */
FLASH_SetLatency(FLASH_Latency_2);
/* 使能FLASH预缓存 */
FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable);
/* 选择锁相环(PLL)时钟源为HSE 1分频,倍频数为9,则PLL输出频率 8MHz * 9 = 72MHz */
RCC_PLLConfig(RCC_PLLSource_HSE_Div1, RCC_PLLMul_9);
/* 使能PLL */
RCC_PLLCmd(ENABLE);
/* 等待PLL输出稳定 */
while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET);
/* 选择SYSCLK时钟源为PLL */
RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);
/* 等待PLL成为SYSCLK时钟源*/
while(RCC_GetSYSCLKSource() != 0x08);
}
/* 打开APB2总线上的GPIOA时钟*/
RCC_AHBPeriphClockCmd(RCC_AHBPeriph_DMA1,ENABLE);
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA |RCC_APB2Periph_GPIOB|
RCC_APB2Periph_AFIO |RCC_APB2Periph_USART1 ,ENABLE);
RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART2 | RCC_APB1Periph_TIM4,ENABLE);
}
开发者ID:xinmulan,项目名称:RGB,代码行数:44,代码来源:bsp.c
示例19: RCC_HSE_Configuration
void RCC_HSE_Configuration(void) //HSE作为PLL时钟,PLL作为SYSCLK
{
RCC_DeInit(); /*将外设RCC寄存器重设为缺省值 */
RCC_HSEConfig(RCC_HSE_ON); /*设置外部高速晶振(HSE) HSE晶振打开(ON)*/
if(RCC_WaitForHSEStartUp() == SUCCESS) { /*等待HSE起振, SUCCESS:HSE晶振稳定且就绪*/
RCC_HCLKConfig(RCC_SYSCLK_Div1);/*设置AHB时钟(HCLK)RCC_SYSCLK_Div1——AHB时钟 = 系统时*/
RCC_PCLK2Config(RCC_HCLK_Div1); /*设置高速AHB时钟(PCLK2)RCC_HCLK_Div1——APB2时钟 = HCLK*/
RCC_PCLK1Config(RCC_HCLK_Div2); /*设置低速AHB时钟(PCLK1)RCC_HCLK_Div2——APB1时钟 = HCLK / 2*/
RCC_PLLConfig(RCC_PLLSource_HSE_Div1, RCC_PLLMul_9);/*设置PLL时钟源及倍频系数*/
RCC_PLLCmd(ENABLE); /*使能PLL */
while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET) ; /*检查指定的RCC标志位(PLL准备好标志)设置与否*/
RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK); /*设置系统时钟(SYSCLK) */
while(RCC_GetSYSCLKSource() != 0x08); /*0x08:PLL作为系统时钟 */
}
}
开发者ID:Neutree,项目名称:Fire-Alarm-System,代码行数:19,代码来源:delay.c
示例20: RCC_Configuration
void RCC_Configuration(void)
{
RCC_DeInit(); //将外设RCC寄存器重设为缺省值
#ifdef ExtOSC
RCC_HSEConfig(RCC_HSE_ON); //开启外部高速晶振(HSE)
//等待HSE起振
if( RCC_WaitForHSEStartUp() == SUCCESS) //若成功起振,(下面为系统总线时钟设置)
{
FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable); //使能FLASH预取指缓存
//FLASH_SetLatency(FLASH_Latency_0); //设置FLASH存储器延时时钟周期数(根据不同的系统时钟选取不同的值)
//RCC_HCLKConfig(RCC_SYSCLK_Div1); //设置AHB时钟=72 MHz
//RCC_PCLK2Config(RCC_HCLK_Div2); //设置APB1时钟=36 MHz(APB1时钟最大值)
//RCC_PCLK1Config(RCC_HCLK_Div1); //设置APB2时钟=72 MHz
//4*8=32Mhz
RCC_PLLConfig(RCC_PLLSource_HSE_Div1, RCC_PLLMul_4); //PLL必须在其激活前完成配置(设置PLL时钟源及倍频系数)
RCC_PLLCmd(ENABLE);
// while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET);
RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);
// while(RCC_GetSYSCLKSource() != 0x08);
}
//DebugPrint("Use ExtOSC PLL \r\n",);
#else
/* 使用内部RC晶振 */
RCC_HSICmd(ENABLE);//使能内部高速晶振 ;
while(RCC_GetFlagStatus(RCC_FLAG_HSIRDY) == RESET);
RCC_SYSCLKConfig(RCC_SYSCLKSource_HSI);//选择内部高速时钟作为系统时钟SYSCLOCK=8MHZ
RCC_HCLKConfig(RCC_SYSCLK_Div1);//选择HCLK时钟源为系统时钟SYYSCLOCK
//DebugPrint("Use IntOSC\r\n");
#endif
SystemCoreClockUpdate(); //更新时钟必须调用
}
开发者ID:seatrix,项目名称:MotorStm32,代码行数:43,代码来源:main.c
注:本文中的RCC_PLLCmd函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论