其中 Sys_Clock_Set 是核心的系统时钟配置函 数,由 Stm32_Clock_Init 调用,实现对系统时钟的配置。外部程序,一般调用 Stm32_Clock_Init函数来配置时钟。 sys文件夹中 在STM32F4 中,有 5 个最重要的时钟源,为 HSI、 HSE、 LSI、 LSE、 PLL。 其中 PLL 实际是分为两个时钟源,分别为主 PLL 和专用 PLL。
Stm32_Clock_Init 的 4 个入口参数直接设置作为 PLL 的参数 M,N,P 和 Q 的值,这样就达到了设 置PLL 时钟源相关参数的目的。设置好 PLL 时钟源参数之后,也就是确定了 PLL 的时钟频率, 接下来我们就需要设置系统时钟,以及 AHB,APB1 和 APB2 相关参数,也就是我们前面提到 的步骤 5。 接下来我们来看看步...
可以理解main函数的Stm32_Clock_Init,可以找到:Stm32_Clock_Init(432,25,2,9); //设置时钟,216Mhz 然后找到Stm32_Clock_Init的定义,void Stm32_Clock_Init(u32 plln,u32 pllm,u32 pllp,u32 pllq) 由于外部晶振是25M,现在Stm32_Clock_Init第二个参数pllm是25,因此外部晶振是25M经过/M后,变成1。然...
staTIc void SetSysClockTo72(void); 这就是定义 72M 的时候,设置时钟的函数。这个函数被 SetSysClock ()函数调用,而 SetSysClock ()函数则是被 SystemInit()函数调用。最后 SystemInit()函数,就是被你调用的了 所以设置系统时钟的流程就是: 首先用户程序调用 SystemInit()函数,这是一个库函数,然后 SystemI...
STM32F767 的 RTC 不带秒钟中断了,但是多了一个周期性自动唤醒功能。周期性唤醒功 能,由一个 16 位可编程自动重载递减计数器(RTC_WUTR)生成,可用于周期性中断/唤醒。 我们可以通过 RTC_CR 寄存器中的 WUTE 位设置使能此唤醒功能。 唤醒定时器的时钟输入可以是:2、4、8 或 16 分频的 RTC 时钟(RTCCLK)...
stap_stm32f10x_cl.s(启动文件) → SystemInit() → SetSysClock () → SetSysClockTo72() 初始化时钟用到的RCC寄存器复位值: RCC_CR = 0x0000 xx83; RCC_CFGR = 0x0000 0000;RCC_CIR = 0x0000 0000; RCC_CFGR2 = 0x0000 0000; SystemInit() ...
defined STM32F10X_XL) || (defined STM32F10X_HD_VL) #ifdef DATA_IN_ExtSRAM SystemInit_ExtMemCtl(); #endif /* DATA_IN_ExtSRAM */#endif /* 配置系统时钟频率、HCLK、PCLK2和PCLK1分频器 */ /* 配置Flash延迟周期并使能预取缓冲区 */ SetSysClock();#ifdef VECT_TAB_SRAM SC...
四、程序详解 整个配置过程是Stm32_Clock_Init函数先重置时钟配置,然后根据填写的参数,传递给Sys_Clock_Set函数,进行时钟配置,再返回Stm32_Clock_Init函数,最后根据代码是运行在flash还是sram中,配置中断向量表的偏移。 1、Stm32_Clock_Init函数先重置时钟配置 ...
*/staticvoidMX_I2C1_Init(void){/* USER CODE BEGIN I2C1_Init 0 *//* USER CODE END I2C1_Init 0 *//* USER CODE BEGIN I2C1_Init 1 *//* USER CODE END I2C1_Init 1 */hi2c1.Instance=I2C1;hi2c1.Init.ClockSpeed=100000;hi2c1.Init.DutyCycle=I2C_DUTYCYCLE_2;hi2c1.Init.OwnAddress...
TIM_MasterConfigTypeDef sMasterConfig = {0};:定义一个名为sMasterConfig的结构体变量,用于配置定时器的主模式参数,并初始化所有字段为0。 hTIM1.Instance = TIM1;:设置定时器句柄(hTIM1)的实例为TIM1,指定了要配置的定时器模块。 hTIM1.Init.Prescaler = 72-1;:配置定时器的预分频器值,这里设置为72-...