赞
踩
STM32F10x系列最多有8个定时器
定时器种类 | 位数 | 计数器模式 | 产生DMA请求 | 捕获/比较通道 | 互补输出 | 特殊应用场景 |
高级定时器 (TIM1,TIM8) | 16 | 向上,向下,向上/下 | 可以 | 4 | 有 | 带死区控制盒紧急刹车,可应用于PWM电机控制 |
通用定时器(TIM2~TIM5) | 16 | 向上,向下,向上/下 | 可以 | 4 | 无 | 通用。定时计数,PWM输出,输入捕获,输出比较 |
基本定时器 (TIM6,TIM7) | 16 | 向上,向下,向上/下 | 可以 | 0 | 无 | 主要应用于驱动DAC |
通用定时器功能特点描述
STM32的通用TIMx(TIM2\TIM3\TIM4和TIM5)定时器功能特点包括
1.位于低速的APB1总线上(APB1)
2.16位向上、向下、向上/向下(中心对齐)计数模式,自动装载计数器(TIMx_CNT)
3.16位可编程(可以实时修改)预分频器(TIMx_PSC),计数器时钟频率的分频系数为1-65535之间的任意数值。
4.4个独立通道(TIMx_CH1~4),这些通道可以用来作为:
1》输入捕获
2》输出比较
3》PWM生成(边缘或中间对齐模式)
4》单脉冲模式输出
5.可使用外部信号(TIMx_ETR)控制定时器和定时器互连(可以用一个定时器控制另一个定时器)的同步电路
如下事件发生时产生中断/DMA(六个独立的IQR/DMA请求生成器)
插一句DMA的基本定义
(
DMA的定义
直接存储器存取(Direct Memory Access,DMA)是计算机科学中的一种内存访问技术。它允许某些电脑内部的硬体子系统(电脑外设),可以独立地直接读写系统存储器,而不需绕道 CPU。在同等程度的CPU负担下,DMA是一种快速的数据传送方式。它允许不同速度的硬件装置来沟通,而不需要依于 CPU的大量中断请求。
DMA有什么用?
直接存储器存取用来提供在外设和存储器之间或者存储器和存储器之间的高速数据传输。无须CPU的干预,通过DMA数据可以快速地移动。这就节省了CPU的资源来做其他操作。
)
1.更新:计数器向上溢出或向下溢出,计数器初始化(通过软件或者内部/外部触发计数)
2.触发事件(计数器启动、停止、初始化或者内部外部触发计数)
3.输入捕获
4.输出比较
5.支持针对定位的增量(正交)编码器和霍尔传感器电路
6.触发输入作为外部时钟或者按周期的电流管理
测量输入信号的脉冲长度(输入捕获)或者产生输出波形(输出比较和PWM)等。
使用定时器预分频器和RCC时钟控制器预分频器,脉冲长度和波形周期可以在几个微秒到几个毫秒之间调整,STM32的每个通用寄存器都是完全独立的,没有互相共享的任何资源。
通用计时器可以向上计数、向下计数、向上向下双向计数模式。
1.向上计数模式:计数器从0计数到自动加载值(TIMx——ARR),然后重新从0开始计数并且产生一个计数器溢出事件。
2.向下计数模式:计数器从自动装入的值(TIMx——ARR)开始向下计数到0,然后自动装入的值重新开始,并产生一个计数器向下溢出事件。
3.中央对齐模式(向上\向下计数):计数器从0开始计数到自动装入的值-1,产生一个计数器溢出事件,然后向下计数到1并且产生一个计数器溢出事件,然后再从0开始重新计数。
时基单元
计数器寄存器(TIMx_CNT):向上计数或向下计数或中心对齐向计数
预分频器寄存器(TIMx_PSC):可将时钟频率按1~65536之间的任意值进行分频,可在运行时改变其设置值。
自动装载寄存器(TIMx_ARR):如果TIM1_CR1寄存器中的ARPE位为0,ARR寄存器的内容将直接写入影子寄存器;
如果ARPE为1,ARR寄存器的内容将在每次的更新事件UEV发生时,传送到影子寄存器
如果TIM1_CR1寄存器中的ARPE位为1,当计数器产生溢出条件时,产生更新事件。
更新事件
将预载寄存器的内容写入影子寄存器:1.立即 2。在每次更新事件发生时
产生更新事件的条件:1.计数器上溢或者下溢时2.当循环计数器的计数值为0时(仅适用于TIM1)3.通过软件设置UG(Update Generation)位
更新事件请求源:1.URS = 1——仅当计数器达到上溢或者下溢时,发生更新请求
2.URS = 0——仅当计数器达到上溢或者下溢时,更新位的设置或者从模式控制器产生的更新,将发生更新请求。
(资料源于正点原子)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。