当前位置:   article > 正文

工作日常总结学习_日常工作与学习累计

日常工作与学习累计

备注

主要记录工作当中一些基础知识的累积,方便日后复习。

STM32H7

系统时钟

在这里插入图片描述
我们把系统时钟配置分为七个步骤,分别用标号①~⑦表示,详细过程为:
① 时钟源参数设置:HSE 或者 HSI 配置。这里我们选择 HSE 为时钟源,所以我们之前必须
在 RCC 配置中我们开启 HSE。
② 时钟源选择:HSE 还是 HSI。这里我们配置选择器选择 HSE 即可。
③ PLL 分频系数 M 配置。分频系数 M 我们设置为 5。
④ 主 PLL 倍频系数 N 配置。倍频系数 N 我们设置为 160。
⑤ 主 PLL 分频系数 P 配置。分频系数 P 我们配置为 2。
⑥ 系统时钟时钟源选择:PLL,HSI 还是 HSE。这里毫无疑问,我们选择 PLL,选择器选择 PLLCLK。
⑦ 经过上面配置以后此时 SYSCLK=400Mhz。
在这里插入图片描述
AHB,APB1、APB2、APB3 和 APB 总线时钟以及 Systick 时钟的最终来源都是系统时钟SYSCLK。其中 AHB 总线时钟 HCLK 是由 SYSCLK 经过 AHB 预分频器之后的来,如果我们要设置HCLK为200MHz(最大也就200Mhz),那么我们只需要配置图中标号8的地方为2即可。得到 HCLK 之后,接下来我们将在图标号 9~12 处同样的方法依次配置 APB3、APB1、APB2和 APB4 分频系数分别为 2,2、2 和 2 即可。注意!systick 固定为 400MHz,配置完成之后,那么 HCLK=200MHZ,Systic=400MHz,PCLK1=100MHz,PCLK2=100MHz,PCLK3=100Mhz,PCLK4=100MHz,这和我们使用 Stm32_Clock_Init 函数配置的时钟是一模一样的。

定时器中断计算

  htim7.Instance = TIM7;
  htim7.Init.Prescaler = 2*HAL_RCC_GetPCLK1Freq()/10000-1
  htim7.Init.CounterMode = TIM_COUNTERMODE_UP;
  htim7.Init.Period = 999;
  htim7.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE;
  • 1
  • 2
  • 3
  • 4
  • 5

定时器中断更新周期(T) = TIMxCLK / Prescaler + 1)/Period + 1)

计算可得预分频系数为19999
T = 200Mhz / (19999+1)/(999+1) = 0.1S

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/菜鸟追梦旅行/article/detail/261551
推荐阅读
相关标签
  

闽ICP备14008679号