HAL 库如果检测到这种状态,则不会对 PLL 配置进行更改,只会检测现有的 PLL 配置与欲应用的配置是否相符,如果不相符,则返回 HAL_ERROR。 __weak HAL_StatusTypeDefHAL_RCC_OscConfig(RCC_OscInitTypeDef*RCC_OscInitStruct){...// 初始化 HSI,HSE 等,在此省略if((RCC_OscInitStruct->PLL.PLLState)!=RCC_PLL...
项目中一个是IAP程序,另一个是APP程序,两个程序都是使用STM32CubeIDE生成,当程序跳转到APP中并且执行到函数SystemClock_Config中的时候,在初始化锁相环调用HAL_RCC_OscConfig函数的时候返回HAL_ERROR或者直接卡死在里面。 为什么在IAP中可以初始化通过,但是在APP中却通不过,查阅STM32F4xx参考手册发现这么一段话: 那...
HAL库不像之前的标准库,在系统启动函数SystemInit里面做了RCC初始化,HAL库是没有做的,所以进入到main函数后,系统还在用内部高速时钟HSI,对于H7来说,HSI主频是64MHz。 函数HAL_Init里面调用的HAL_MspInit一般在文件stm32h7xx_hal_msp.c里面做具体实现,主要用于底层初始化。当前此函数也在文件stm32h7xx_hal.c里面...
RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV4; RCC_OscInitStruct.PLL.PLLQ = 4; if (HAL_RCC_OscConfig(&RCC_OscInitStruct)!= HAL_OK) { Error_Handler(); } RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK |RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2; RCC_ClkInitStru...
首先来看看使用 HAL 库配置 STM32L4 时钟系统的一般步骤: 1) 使能 PWR 时钟:调用函数__HAL_RCC_PWR_CLK_ENABLE() 2) 配置时钟源相关参数:调用函数 HAL_RCC_OscConfig()。 3) 配置系统时钟源以及 SYSCLK、AHB,APB1 和 APB2 的分频系数 :调用函数HAL_RCC_ClockConfig()。
配置stm32f1xx_hal_conf.h: 这里面有许多用于配置的宏,比如用于精准延时的晶振频率,还有各个外设模块的开关等等。 main.c #include"stm32f1xx_hal.h"intmain(){ HAL_Init(); __HAL_RCC_GPIOC_CLK_ENABLE(); GPIO_InitTypeDef gpio_initstruct; ...
取消备份区域写保护RCC_OscInitStruct.OscillatorType=RCC_OSCILLATORTYPE_LSE;//LSE配置RCC_OscInitStruct.PLL.PLLState=RCC_PLL_NONE;RCC_OscInitStruct.LSEState=RCC_LSE_ON; //RTC使用LSEHAL_RCC_OscConfig(&RCC_OscInitStruct);PeriphClkInitStruct.PeriphClockSelection=RCC_PERIPHCLK_RTC;//外设为RTCPeriphClk...
//配置 PLL 的倍频因子 NRCC_OscInitStruct.PLL.PLLP=RCC_PLLP_DIV2;//配置 PLL 的主分频因子 PRCC_OscInitStruct.PLL.PLLQ=4;//配置 PLL 的 USB OTG FS, SDIO 和 RNG 的分频因子 Qif(HAL_RCC_OscConfig(&RCC_OscInitStruct)!=HAL_OK){Error_Handler();}/** Initializes the CPU, AHB and APB ...
STM32时钟树案例详解时钟树直接使用HSI作为时钟源使用配置相应的结构体,最后调用HAL_RCC_OscConfig(), 和HAL_RCC_ClockConfig()初始化时钟 h1654155957.9520 2021-08-20 06:11:55 STM32的时钟树详解 原文地址:STM32的时钟树深入详解作者:蔡志威在STM32上如果不使用外部晶振,OSC_IN和OSC_OUT的接法如果使用内部...
18.3.2 函数HAL_RCC_OscConfig 函数功能:主要就是配置 HSE、HSI、LSI、LSE 和 PLL(PLL1、PLL2、PLL3和PLL4)。 函数返回值: 枚举型,HAL_OK(成功)、HAL_ERROR(错误)、HAL_BUSY(忙碌)、HAL_TIMEOUT(超时) 注意:当PLL用作系统时钟时,PLL不会被禁用。 函数部分代码如下: 1 __weak HAL_StatusTypeDef HAL_...