STM32 Timer (1) 定时器分类和框图

1.定时器简单分类

1. 高级控制定时器 TIM1 TIM8
2. 通用定时器 TIM2 TIM3 TIM4 TIM5
3. 基本定时器 TIM6 TIM7

定时器:
1. 16/32位 向上 向下 上下 计数模式, 自动重装载计数器 TIMx_CNT
2. 16位可编程(实时修改) 预分频器(TIMx_PSC)
3. 4个独立通道(TIMx_CH1 ~ 4)
    输入捕获
    输出比较
    PWM生成
    单脉冲模式
4. 可以和外部定时器集联

2. 定时器结构图

定时器结构框图分为5部分
时钟产生部分
定时器部分
输入比较部分
输出比较部分
寄存器部分

时钟产生来源:
1. 内部时钟        APB1(CLK_INT) (*)
2. TIMx_ETR       外部引脚输入
3. ITRx            内部触发输入,定时器集联
4. TL1FP1/2        来自于定时器外部通道

主要是内部时钟,最后输出 [ CK_PSC ]
时基电路:
将 CK_PSC 通过 [ PSC预分频器 ] 进行分频得到 [ CK_CNT ] 得到最终时钟
通过 [ CNT计数器 ] 和 计数模式 进行计数, 当计数结束后触发 [ 自动重装载计数器 ]
输入捕获:
输入捕获 每一个通用定时器有4个通道 [ TIMx_CH1/2/3/4 ]
输出比较:
比如说现在定时器是从 0-100 向上计数
如果把 [ 捕获比较寄存器 ] 的值设置为 v = 50;
如果 当前值 < v 则输出高电平 当前值 > v 则输出低电平
那么效果就是 0-50 输出高电平, 50-100 输出低电平, 实现通道输出
通过控制 V 的值 就能改变占空比,  实现PWM。

原文地址:https://www.cnblogs.com/kmist/p/11669232.html

时间: 2024-10-11 11:22:44

STM32 Timer (1) 定时器分类和框图的相关文章

STM32 Timer (2) 定时器中断代码框架

3. 代码框架 3.1 分频系数的计算 x1/x2 /N(预分频) APB1时钟------->F(CK_PSC)--------------->CK_CNT 如果APB1的分频系数为1, CK_INT的倍频系数就是x1 如果APB1的分频系数不为1, CK_INT的倍频系数就是x2   STM32F1(MHz) STM32F4(MHz) STM32F7(MHz) SYSCLK 72 168 216 AHB 72 168 216 APB1 (AHB/4) 18 42 54 CK_INT(x1/

[stm32] STM32的通用定时器TIMx系统了解

通用定时器(TIMx) 一.TIMx简介 二.TIMx主要功能 三.TIMx功能描述 3.1 时基单元 3.2 计数器模式 3.3 时钟选择 3.4 捕获/比较通道 3.5 输入捕获模式 3.6 PWM输入模式 3.7 强置输出模式 3.8 输出比较模式 3.9 PWM 模式 3.10 单脉冲模式 四.简单例子理解TIMx 4.1 使得PB5-TIM3通道2产生频率为12.5Hz的方波,该方波控制LED1的闪烁 4.2 周期控制通用定时器3的2通道,实现1KHz的不同占空比波形,控制LED实现呼

STM32——timer

原文地址: http://blog.sina.com.cn/s/blog_49cb42490100s6ud.html   1.     STM32的Timer简介 STM32中一共有11个定时器,其中2个高级控制定时器,4个普通定时器和2个基本定时器,以及2个看门狗定时器和1个系统嘀嗒定时器.其中系统嘀嗒定时器是前文中所描述的SysTick,看门狗定时器以后再详细研究.今天主要是研究剩下的8个定时器. 定时器 计数器分辨率 计数器类型 预分频系数 产生DMA请求 捕获/比较通道 互补输出 TIM

stm32之通用定时器TIM

STM32系列的CPU,有多达8个定时器: 1.其中TMI1和TIM8是能够产生三对PWM互补输出的高级定时器,常用于三相电机的驱动:它们的时钟有APB2的输出产生: 2.其它6个为普通定时器,时钟由APB1的输出产生: 定时器的作用: 1.定时功能 2.计数功能 3.输入捕获 4.匹配输出 5.PWM脉冲波输出 概述: 通用定时器是一个通过可编程预分频器驱动的16位自动装载计数器构成.它适用于多种场合,包括测量输入信号的脉冲长度(输入采集)或者产生输出波形(输出比较和PWM). 定时器是完全独

STM32 Timer : Base Timer, Input Capture, PWM, Output Compare

http://www.cs.indiana.edu/~geobrown/book.pdf An example of a basic timer is illustrated in Figure 10.1. This timer has four components – a controller, a prescaler (PSC), an “auto-reload” register (ARR) and a counter (CNT). The function of the prescal

C#多线程编程之:Timer(定时器)使用示例

Timer类:设置一个定时器,定时执行用户指定的函数.定时器启动后,系统将自动建立一个新的线程,执行用户指定的函数. 构造函数:Timer(TimerCallback callback, object state, int dueTime, int period)参数说明 callback:一个 System.Threading.TimerCallback 委托,表示要执行的方法. state:一个包含回调方法要使用的信息的对象,或者为 null. dueTime:调用 callback 之前延

关于STM32的systick定时器的详细说明

SysTick定时器被捆绑在NVIC中,用于产生SYSTICK异常(异常号:15).在以前,大多操作系统需要一个硬件定时器来产生操作系统需要的滴答中断,作为整个系统的时基.例如,为多个任务许以不同数目的时间片,确保没有一个任务能霸占系统:或者把每个定时器周期的某个时间范围赐予特定的任务等,还有操作系统提供的各种定时功能,都与这个滴答定时器有关.因此,需要一个定时器来产生周期性的中断,而且最好还让用户程序不能随意访问它的寄存器,以维持操作系统“心跳”的节律. Cortex‐M3处理器内部包含了一个

基于c#中Timer实现定时器功能

在c#中关于定时器类就有三个 定义在System.Windows.Forms里 System.Windows.Forms.Timer是应用于WinForm中的,它是通过Windows消息机制实现的,类似于VB或Delphi中的Timer控件,内部使用API SetTimer实现的.它的主要缺点是计时不精确,而且必须有消息循环,Console Application(控制台应用程序)无法使用 定义在System.Threading.Timer类里 定义在System.Timers.Timer类里

Java Timer触发定时器

XML: <!-- Java Timer定时 --> <!-- <bean id="shortUrlTask" class=" com.spring.common.ShortUrlTask"> </bean> <bean id="scheduleReportTask" class="org.springframework.scheduling.timer.ScheduledTimerTas