RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE; RCC_OscInitStruct.HSEState = RCC_HSE_ON; RCC_OscInitStruct.HSEPredivValue = RCC_HSE_PREDIV_DIV1; RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;
时间: 2023-06-10 09:06:19 浏览: 203
这段代码是STM32的时钟配置代码,它的作用是配置芯片的主时钟(MCU的时钟)。
首先,`RCC_OSCILLATORTYPE_HSE`表示使用外部高速晶振作为系统时钟源。`RCC_HSE_ON`表示打开外部高速晶振。`RCC_HSE_PREDIV_DIV1`表示外部高速时钟不需要进行分频。
接下来,`RCC_PLL_ON`表示打开PLL时钟源。PLL(Phase Locked Loop)是一种时钟倍频电路,可以将外部时钟倍频得到更高的时钟频率。在这段代码中,使用了PLL时钟源作为系统时钟源。
最后,这段代码会将时钟配置应用到芯片上,使得芯片的时钟源和时钟频率正确配置。
相关问题
RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE; RCC_OscInitStruct.HSEState = RCC_HSE_ON; RCC_OscInitStruct.HSEPredivValue = RCC_HSE_PREDIV_DIV1; RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON; RCC_OscInitStruct.PLL.PLLSource = RCC
_PLLSOURCE_HSE; RCC_OscInitStruct.PLL.PLLMUL = RCC_PLL_MUL9;
这段代码是对于STM32芯片的时钟配置代码。其中,RCC表示Reset and Clock Control,用于对系统时钟进行配置;而HSE表示High-Speed External,即高速外部时钟,一般使用晶振等外部时钟源;PLL表示Phase-Locked Loop,即锁相环,用于将输入时钟频率倍频或分频,以获得更高或更低的时钟频率。在这段代码中,将HSE作为PLL的时钟源,将其倍频9倍,最终得到系统时钟频率为HSE*9=72MHz。同时,设置HSE预分频值为1,表示不对外部时钟进行分频。
RCC_OscInitTypeDef RCC_OscInitStruct = {0};打开外部高速时钟 RCC_ClkInitTypeDef RCC_ClkInitStruct = {0}; RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE; RCC_OscInitStruct.HSEState = RCC_HSE_ON; RCC_OscInitStruct.HSEPredivValue = RCC_HS
以上代码使用了 STM32 系列芯片的库函数,用于初始化系统时钟。具体来说,代码中通过 RCC_OscInitTypeDef 结构体配置了外部高速时钟的参数,包括使用 HSE 振荡器、设置 HSE 预分频值等;然后又通过 RCC_ClkInitTypeDef 结构体配置了系统时钟的分频系数等参数。最终,使用 HAL_RCC_OscConfig 和 HAL_RCC_ClockConfig 函数将这些参数应用到芯片中,从而初始化系统时钟。
阅读全文