STM32F1xx、STM32F2xx、STM32F4xx、STM32L1xx、STM32F30/31/37/38x 定时器概览 前言 % a5 ]: Y6 ~* _6 r* p6 j 本文档: ) B# H/ @# M) z+ [3 h0 m ● 概述了 STM32F1xx、STM32F2xx、STM32F4xx、STM32L1xx 和 STM32F30/31/37/38x微控制器系列的定时器外设; ! v1 I" u4 T, U% I) w: n ● 介绍了定时器的多种模式和特殊功能,如时钟源; # @6 A& v! c& H/ X6 f/ |1 {# a ● 介绍了如何使用各种可用模式与功能; ● 介绍了如何计算各种配置下的时基; h1 I# M$ r( B% J ● 除基本定时器模式外,还介绍了定时器同步序列以及用于电机控制应用的高级功能。 & a) K8 O* T. ~6 j( u2 h6 K- T1 w( d 3 ?+ G" j ~# a b2 a2 B1 [: ]# g+ e9 e 本文档针对各模式提供了典型配置以及使用方法的示例。除非另外说明,本文档余下部分中的术语 STM32xx 均用于指代 STM32F1xx、STM32F2xx、STM32F4xx、 STM32L1xx 和 STM32F30/31/37/38x 微控制器系列。 1 概述 $ g: ~6 F3 E: C. V0 V) w4 oSTM 32 器件使用多种类型的定时器,各种定时器特点如下: ● 通用定时器:可用于输出比较(时序和延迟生成)、单脉冲模式、输入捕捉(用于测量外部信号频率)、传感器接口(编码器和霍尔传感器)等各种场合。 ● 高级定时器:此类定时器的功能最多。除通用功能外,它们还包含一些与电机控制和数字能量转换应用相关的功能:三个带死区控制的互补信号以及紧急关断输入。 ● 单通道或双通道定时器:用作通用定时器,通道数有限。 ● 带互补输出的单通道或双通道定时器:与上一类型相同,只是其中一个通道上具有死区发生器。这样可得到时基与高级定时器无关的互补信号。 ● 基本定时器:没有任何输入/输出,既可用作时基定时器,也可用于触发 DAC 外设。 % L9 u# v! J j: ~6 J( |; c表 2 汇总了 STM32 系列定时器。 表 3 给出了定时器特性的总览。 注: STM32F30x 和 STM32F31x 定时器还具有一些新模式:不对称模式、混合模式、单脉冲可重复触发模式、混合 3 相 PWM 模式以及次级断路输入,这些模式仅适用于这两种系列。 2 基本定时器模式 基本定时器经过编程可在以下其中一种配置下工作。 5 s6 R$ Y8 }( Q+ [7 y8 ~2.1 时钟输入源 定时器可同时与多个时钟同步: 4 _8 g$ x) C0 c i: V" G/ z& ]6 \● 内部时钟 ● 外部时钟 — 外部时钟模式 1(TI1 或 TI2 引脚) — 外部时钟模式 2(ETR 引脚) — 内部触发时钟 (ITRx) 2.1.1 内部时钟 默认情况下,定时器由 RCC 提供的内部时钟驱动。要选择该时钟源,应该将 SMCR_SMS(如果存在)位复位。 2.1.2 外部时钟 外部时钟定时器分为两类: * c- _7 R& t, J- j3 N; w) U7 h7 Q● 连接到 TI1 或 TI2 引脚的外部时钟 " L' N. ?% g4 f! i9 w) F● 连接到 ETR 引脚的外部时钟在上述情况下,通过与 TIx 引脚或 ETR 引脚连接的外部信号提供时钟。并且应该验证最大外部时钟频率。 注: 1 除以上所有时钟源外,定时器还应该通过 APBx 时钟驱动。2 外部时钟并非直接馈送预分频器,而是首先通过专用逻辑块与 APBx 时钟同步。 6 ^7 G# F' M; R8 W+ H* k5 i: C外部时钟模式 1(TI1 或 TI2 引脚) 在此模式下,外部时钟将施加到定时器的输入引脚 TI1 或 TI2 上。为此: 9 P( _/ h4 L- D3 E4 G% A1. 配置定时器将 TIx 引脚用作输入: a) 通过对 TIMx_CCMR1 寄存器中的 CCxS 位执行写操作,选择要使用的引脚。 ! @' \# D$ {" u. H' I; `7 xb) 选择输入的极性:对于 STM32F10x 系列:通过对 TIMx_CCER 寄存器中的 CCxP 位执行写操作,选择上升沿触发或下降沿触发;对于其它系列:通过对 TIMx_CCER 寄存器中的 CCxP 和 CCxNP 位执行写操作,选择上升/下降沿触发,或者边沿触发(a)。 / Q+ U$ w8 |: v8 } ; p# E+ d2 x: ?; A! w |
图图?嗯哼? |