SYSCLK通过AHB Prescaler(1分频)得到HCLK时钟,通过APB1 Prescaler(2分频)得到PCLK1时钟,通过APB2 Prescaler(1分频)得到PCLK2时钟。 其实与SystemClock_Config()函数中的配置是一模一样的: /** * @brief System Clock Configuration * @retval None */voidSystemClock_Config(void){ RCC_OscInitTypeDef RCC_OscInit...
STM32的系统时钟设置SystemClock_Config()探究 一、首先了解几个硬件名词: stm32有多种时钟源,为HSE、HSI、LSE、LSI、PLL,对于L系统的,还有一个专门的MSI 1、HSE是高速外部时钟,一般8M的晶振,精度比较高,比较稳定。 2、HSI是高速内部时钟,RC振荡器,频率为8MHz。精度略差。 3、LSE是低速外部时钟,接频率为32.76...
项目中一个是IAP程序,另一个是APP程序,两个程序都是使用STM32CubeIDE生成,当程序跳转到APP中并且执行到函数SystemClock_Config中的时候,在初始化锁相环调用HAL_RCC_OscConfig函数的时候返回HAL_ERROR或者直接卡死在里面。 为什么在IAP中可以初始化通过,但是在APP中却通不过,查阅STM32F4xx参考手册发现这么一段话: 那...
从上表可以看出,在 Vcore Range 1 时如果 HCLK 为 80Mhz,那么等待周期要 4WS 也就是 5 个 CPU 周期。下面我们看看我们在 SystemClock_Config 中调用函数 HAL_RCC_ClockConfig的时候,第二个入口参数设置值: ret=HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_4); 从上可以看出,我们设置值为 FLASH...
硬石的HAL程序,在Keill里就是不能运行下去,我查了一下,是卡在SystemClock_Config()这一段里出不...
SystemClock_Config 函数主要实现的是以HSE 为时钟源,配置主 PLL 相关参数,然后系统时钟选择PLL 为时钟源,最终配置系统时钟为 80MHz的过程。同时,还配置了SYSTICK,AHB,APB1和APB2的相关分频系数。 第一部分是配置系统时钟。 第二部分是配置 SYSTICK、 AHB、 APB1 和 APB2 的分频系数。
SystemClock_Config(); // 调用库函数来检验自己的配置是否成功配置为系统频率 64MHz sys_clk = HAL_RCC_GetSysClockFreq(); while(1); } 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 使用外部时钟源HSE作为PLL的时钟源,然后将PLL作为系统时钟源 ...
//main.c#include"main.h"#include"stm32f4xx_hal.h"#include"usart.h"#include"gpio.h"intmain(void){HAL_Init();SystemClock_Config();MX_GPIO_Init();MX_USART1_UART_Init();printf("this is sleep mode testn");HAL_GPIO_WritePin(GPIOF, GPIO_PIN_6|GPIO_PIN_7, GPIO_PIN_RESET);while(1...
登录后复制intmain(void){HAL_Init();SystemClock_Config();MX_GPIO_Init();MX_TIM2_Init();MX_I2C2_Init();MX_DAC1_Init();MX_TIM6_Init();MX_SPI4_Init();HAL_TIM_PWM_Start(&htim2,TIM_CHANNEL_1);//tim2开启pwm,输出24Mhzfor(i=0;i< SIN_ROM_LENGTH;i++)//生成sin表{ ...