提交 9c440225 编写于 作者: B Bernard Xiong 提交者: GitHub

Merge pull request #748 from TanekLiang/master

[bsp] update RCC initial for system
......@@ -40,20 +40,6 @@ void NVIC_Configuration(void)
// NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
}
/**
* @brief Inserts a delay time.
* @param nCount: specifies the delay time length.
* @retval None
*/
static void Delay(__IO uint32_t nCount)
{
/* Decrement nCount value */
while (nCount != 0)
{
nCount--;
}
}
/**
* This RCC initial for system.
* use HSE clock source
......@@ -63,32 +49,39 @@ static void Delay(__IO uint32_t nCount)
*/
static void RCC_Configuration(void)
{
RCC_ClkInitTypeDef ClkInit = {0};
RCC_OscInitTypeDef OscInit = {0};
RCC_OscInitTypeDef OscInit;
HAL_RCC_DeInit();
/* Enable HSI Oscillator and Activate PLL with HSI as source */
OscInit.OscillatorType = RCC_OSCILLATORTYPE_HSI;
OscInit.HSIState = RCC_HSI_ON;
OscInit.HSICalibrationValue = RCC_HSICALIBRATION_DEFAULT;
OscInit.PLL.PLLState = RCC_PLL_ON;
OscInit.PLL.PLLDIV = RCC_PLLDIV_2;
OscInit.PLL.PLLMUL = RCC_PLLMUL_4;
OscInit.PLL.PLLSource = RCC_PLLSOURCE_HSI;
HAL_RCC_OscConfig(&OscInit);
if (HAL_RCC_OscConfig(&OscInit) != HAL_OK)
{
RT_ASSERT(RT_NULL);
}
RCC_ClkInitTypeDef ClkInit;
/* Select PLL as system clock source and configure the HCLK, PCLK1 and PCLK2
clocks dividers */
ClkInit.ClockType = RCC_CLOCKTYPE_SYSCLK |
RCC_CLOCKTYPE_HCLK |
RCC_CLOCKTYPE_PCLK1 |
RCC_CLOCKTYPE_PCLK2;
ClkInit.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK;
ClkInit.AHBCLKDivider = 0;
ClkInit.APB1CLKDivider = 0;
ClkInit.APB2CLKDivider = 0;
HAL_RCC_ClockConfig(&ClkInit, 1);
Delay(0x3FFFF);
/* Update SystemCoreClock value from RCC configure */
SystemCoreClockUpdate();
ClkInit.AHBCLKDivider = RCC_SYSCLK_DIV1;
ClkInit.APB1CLKDivider = RCC_HCLK_DIV1;
ClkInit.APB2CLKDivider = RCC_HCLK_DIV1;
if (HAL_RCC_ClockConfig(&ClkInit, FLASH_LATENCY_1) != HAL_OK)
{
RT_ASSERT(RT_NULL);
}
}
#ifdef PRINT_RCC_FREQ_INFO
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册