【蓝桥杯嵌入式】STM32定时器的配置,解析预分频系数和重装载值与时钟频率的关系

本文涉及的产品
全局流量管理 GTM,标准版 1个月
云解析 DNS,旗舰版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
简介: 【蓝桥杯嵌入式】STM32定时器的配置,解析预分频系数和重装载值与时钟频率的关系

目录


预分频系数

重装载值  

设置STM32CubeMX


正文


预分频系数


   预分频系数就是将你使用的时钟的频率以预分频系数为单位分割,如现在使用的是80MHz频率的时钟,预分频系数设置为80,那就是将原本的80次计数看成是1次,时钟的频率因为变成了 80M/80 = 1MHz。也就是改定时器再一秒内会计数1M次。


重装载值  


       重装载值就是当定时器的计算器计数到这个值之后,就会发生溢出,产生中断,然后重新装载为0。我们继续以上面例子为例,时钟频率为80MHz,预分频系数为80,假设我们需要定时10毫秒,现在是定时器是每秒计数1M次,也就是说一微秒计数一次,我们要定10毫秒,也就是10000微秒,即计算器从0计数到10000就是10毫秒,所以我们就将重装载值定为10000。

 特别注意:以上的预分频系数设置为80,重装载值设置为10000都是为了讲解方便,但是数值都是错误的,需要设置为80-110000-1才是正确的。因为都是从0开始计数,也就是0~(80-1)才是80个数,10000-1同理。


设置STM32CubeMX


打开软件后,先在Clock Configuration中将以下紫框中需要更改的完成更改,时钟频率为80HMz。

选择一个定时器,选择内部时钟,我们设置一个定时要求是0.01秒的定时器:

预分频系数设置为80-1,重装载值设置为10000-1,时钟频率为80HMz,80M/80/10000 = 100;

也就是每一秒钟产生100次中断,每次时间间隔为0.01秒。


相关文章
|
6月前
|
C语言
蓝桥杯嵌入式零基础如何准备
蓝桥杯嵌入式零基础如何准备
|
6月前
|
存储 人工智能 算法
第十四届蓝桥杯真题解析
第十四届蓝桥杯真题解析
96 0
|
10天前
|
JSON JavaScript 前端开发
蓝桥杯web组赛题解析和杯赛技巧
本文作者是一位自学前端两年半的大一学生,在第十五届蓝桥杯Web组比赛中获得省一和国三。文章详细解析了比赛题纲,涵盖HTML、CSS、JavaScript、Echarts和Vue等技术要点,并分享了备赛技巧和比赛经验。作者强调了多写代码和解题思路的重要性,同时提供了省赛和国赛的具体流程及注意事项。希望对参赛者有所帮助。
|
4月前
|
前端开发 安全
stm32f407探索者开发板(十一)——SystemInit时钟系统初始化剖析
stm32f407探索者开发板(十一)——SystemInit时钟系统初始化剖析
151 0
|
4月前
stm32f407探索者开发板(十)——时钟系统精讲
stm32f407探索者开发板(十)——时钟系统精讲
145 0
|
5月前
|
芯片
【STM32】详解RTC实时时钟的概念和配置&示例代码
【STM32】详解RTC实时时钟的概念和配置&示例代码
|
6月前
|
缓存 网络协议 算法
[蓝桥杯嵌入式]hal库 stm32 PWM的使用(随时修改占空比,随时修改频率)
[蓝桥杯嵌入式]hal库 stm32 PWM的使用(随时修改占空比,随时修改频率)
|
6月前
|
人工智能 算法
第十三届蓝桥杯真题解析
第十三届蓝桥杯真题解析
67 3

推荐镜像

更多