STM32系列:定时/计数器——基本定时器

目录

,STM32定时/计数器概述

1.1STM32定时器分类

1.2 STM32基本,通用,高级定时器的功能整体区别

1.3软件定时与定时器定时的原理

二,基本定时器

  • 基本定时器简介

  • 基本定时器框图

  • 定时器中断实验相关寄存器


一,STM32定时/计数器概述

1.1STM32定时器分类

STM32f1共有8个定时器。

2个基本定时器:用于产生简单的延时【TMI6,TMI7】

4个通用定时器:用于复杂的定时任务,有多种工作模式和功能【TMI2~TMI5】

2个高级定时器:用于高性能和高准确度的定时任务【TMI1,TMI8】

定时器性能:高级>通用>基本

1.2 STM32基本,通用,高级定时器的功能整体区别

定时器类型主要功能
基本定时器没有输入输出通道,常用作时基,即定时功能
通用定时器具有多路独立通道,可用于输入捕获/输出比较,也可用作时基
高级定时器除具备通用定时器所有功能外还具备死区控制的互补信号输出

1.3软件定时与定时器定时的原理

软件定时的原理是:利用CPU执行特定的指令序列来实现延时功能,即通过循环等待的方式来达到延时的效果,软件定时的实现步骤:

  1. 确定延时时间
  2. 编写延时函数
  3. 实现延时逻辑
  4. 调用延时函数

软件定时的缺点:

  • 延时不精确收到cpu执行命令的速度等因素造成延时不精确的情况
  • 在延时期间CPU一直处于空循坏或计数循坏导致cpu一直处于等待状态不能执行其它的任务

定时器定时的原理:利用硬件定时器模块中的计数器和自动重载寄存器来实现精确的定时功能。

定时器定时的实现步骤:

  1. 时钟源选择:可以是微控制器的系统时钟或者外部时钟源
  2. 预分屏器设置:调节定时器的计数频率
  3. 计数器计数:计数器从0开始计数直到达到自动重载值为止
  4. 溢出检测:计数器达到自动重载值后会触发溢出事件,计数器从新计数并发出溢出信号
  5. 重新加载:收到溢出信号后自动重载寄存器的值会重新加载到计数器中,实现周期性的定时

二,基本定时器

2.1基本定时器简介——TMI6/TMI7

基本定时器(TMI6/TMI7)是STM32中的两个简单的定时器

主要特性:

  • 16位递增计数器:可以计数0~65535的整数,溢出时会重新计数
  • 16位预分屏器:分频系数范围从1~65536,用于调节定时器的时钟频率
  • 可用于触发DAC:可以利用计数器溢出来触发DAC实现定时产生模拟输出信号
  • 中断/DMA请求:计数器溢出时会产生中断或DMA请求,用户可以在中断服务函数中执行x

2.2基本定时器框图

2.3 定时器中断实验相关寄存器

TIM6和TIM7控制器1(TIMx_CR1)

用于设置ARR寄存器是否具有缓冲,使能/关闭计数器

TIM6和TIM7 DMA/中断使能寄存器(TIMx_DIER)

用于使能更新中断

TIM6和TIM7 状态寄存器(TIMx_SR)

用于判断是否发生了更新中断,由硬件置1,软件清0

TIM6和TIM7 计数器(TIMx_CNT)

计数器实时数值,可用于设置计数器初始值 范围:0~65535

TIM6和TIM7 预分频器(TIMx_PSC)

用于设置预分屏系数 范围:0~65535 实际预分频系数等于psc+1

TIM6和TIM7 自动重载寄存器(TIMx_ARR)

用于设置自动重载数值 范围:0~65535
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值