五、2 配置定时器(STM32)

跟着江协视频做笔记

目录

6、函数介绍

7、配置定时器

(1)开启时钟

(2)选择时基单元的时钟

(3)配置时基单元(初始化时基单元)

1)

‌2)STM32计数模式,包括‌向上计数模式、‌向下计数模式和‌中央对齐模式。具体介绍如下:‌

3)设置定时时间

(4)使能更新中断

(5)NVIC优先级分组和配置NVIC

(6)启动定时器

8、中断函数

(1)把中断函数写在Timer.c文件中,需要extern声明

(2)中断函数放在主程序中

(3)CNT计数器值变化


1、基本定时器只能向上计数

通用和高级:向上、向下、中央对齐计数

一般用向上计数(计数模式介绍在6、配置定时器中)

2、基本定时器:只能选择内部时钟(系统频率72MHz)

通用和高级定时器:内部时钟和外部时钟

对于时钟输入而言最常用的是72MHz的内部时钟

使用外部时钟是,首选ETR引脚外部时钟模式2的输入

3、

计算定时时间

4、参考手册

6、函数介绍

7、配置定时器

操作步骤:开启时钟,选择时基单元的时钟,配置时基单元(初始化时基单元),使能更新中断,NVIC优先级分组和配置NVIC,启动定时器

(1)开启时钟

(2)选择时基单元的时钟

如果不调用这个函数,定时器上电后默认就是使用内部时钟,所以这一行不写也行

(3)配置时基单元(初始化时基单元)

1)

分频:分频是指将输入信号的频率降低若干倍,以达到降低频率,提高信号稳定性和减少能耗的目的。

滤波器可滤掉信号的抖动干扰(在一个固定的时钟频率 f 下进行采样,如果连续 N 个采样点都为相同的电平,就代表输入信号稳定,就把采样值输出出去;如果这 N 个采样值不全都相同,就说明信号有抖动,这时就保持上一次的输出,或者直接输出低电平)(频率 f 越低,采样点数 N 越多,滤波效果就越好,但相应延迟就越大)

采样频率 f 可以由内部时钟直接而来,也可以由内部时钟加一个时钟分频而来(分频多少由参数ClockDivision决定)(这个参数与时基单元关系并不大

‌2)STM32计数模式,包括‌向上计数模式、‌向下计数模式和‌中央对齐模式。具体介绍如下:‌

  • 向上计数模式:在这种模式下,计数器从0开始计数,直到达到预设的自动加载值(TIMx_ARR),然后重新从0开始计数,并产生一个计数器溢出事件。这种模式适用于需要测量时间间隔或生成固定频率的脉冲的应用。
  • 向下计数模式:与向上计数模式相反,向下计数模式的计数器从自动加载值开始向下计数,直到达到0,然后重新从自动加载值开始计数,并产生一个计数器向下溢出事件。这种模式适用于需要在达到某个特定值时产生中断的应用。
  • 中央对齐模式:这是一种结合了向上和向下计数的模式,在这种模式下,计数器从0开始计数,直到达到自动加载值-1,然后向下计数到1,并产生两个计数器溢出事件,之后重新从0开始计数。这种模式适用于需要同时处理向上和向下计数的应用。

3)设置定时时间

定时1s 即是定时频率为1Hz

1MHz = 1*10^6Hz

当ARR(自动重装器)=10000 - 1,

PSC(预分频器)=7200 - 1时

表示预分频是对72M进行7200分频,得到10K的计数频率,在10K的频率下(周期为1/10K,计一个数用1/10K秒),计10000(10K)个数用时1s

注意

(4)使能更新中断

开启更新中断到NVIC的通路

(5)NVIC优先级分组和配置NVIC

(6)启动定时器

8、中断函数

(1)把中断函数写在Timer.c文件中,需要extern声明

(2)中断函数放在主程序中

(3)CNT计数器值变化

CNT计数器值的范围:0~~自动重装值(设置的ARR的值,即10000 - 1 = 9999)【计一个周期(1/10K秒),共计10000(10K)次数,刚好为1秒】

9、

参考手册

上拉输入也可以

  • 28
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值