首先,我们可以看到这个图大概有两个不分,一个部分是时钟源,另一个部分则是输入输出

时钟源计数,到CNT计数器,然后根据捕获比较寄存器进行记录或比较。记录或比较有不同的配置。

首先是TI信号
TI1 TI2 TI3 TI4:这个信号就是外部信号,是直接与管脚相连的信号,图中还有一个问题就是TI1是可以是第一通道的外部信号进行触发,
也可以设置为,第一通道,第二通道,第三通道异或进行触发。外部信号送往滤波器和边沿检测器。

TIxFP触发有效信号。  
TI1FP1 TI1FP2 TI2FP1 TI2FP2 TI3FP3 TI3FP4 TI4FP3 TI4FP4:这个就是一个触发有效信号,由于与管脚直连的信号可以被设置为高低边沿触发,
所以通过设置后,TIxFP就是对应这个信号是否有效的标致。

ICx映射信号
IC1 IC2 IC3 IC4:通道有效信号,在他的前面是TIxFP和TRC信号,可以看出,TI1FP与TI2FP可以互相对应IC1和IC2,TI3FP和TI4FP可以互相对应IC3和IC4,
这样的话,就可以使一个TIxFP信号对应两个ICx也就是对应两个通道。
这样的话,就可以实现PWM输入了,可以由1个来计算周期,另一个来计算占空比。ICx信号被送入预分频器

通道中断和DMA输出信号
CC1I CC2I CC3I CC4I:ICx信号经过预分频器后即可通过配置产生中断或DMA输出。

预分频计数信号
IC1PS IC2PS IC3PS IC4PS::ICx信号经过预分频器后即可以进入CCRx计数寄存器了,此时可配合中断对CCR读取。

OC1REF输出有效信号
OC1REF OC2REF OC3REF OC4REF:当比较输出或PWM输出时第一个输出的信号。
这个信号经过配置高低电平,才能变成输出到管脚的有效电平的。

比较输出PWM输出电平
OC1 OC1N OC2 OC2N OC3 OC3N OC4:输出到管脚的信号

刹车输入管脚信号
BRK刹车输入管脚信号,引脚输入后进入极性选择。

刹车信号
BI:刹车信号,通过极性选择的信号与时钟失效信号相或后,得出刹车有效信号。来驱动刹车。

更新时间
u更新事件信号,由软件事件寄存器或计数器溢出产生。

事件更新中断
UI:事件更新中断信号

外部ETR触发脚信号
ETR:与外部管脚相连的触发定时器专用触发脚

边沿预分频后ETR信号
ETRP:边沿预分频后ETR信号

经过滤波后的ETR有效信号
ETRF:ETRP经过滤波,极性,边沿后的有效信号

内部触发ITRx通道信号
ITR0 ITR1 ITR2 ITR3 :触发可由内部其他定时器产生信号,且定时器1和定时器8的定时器触发不同。在数据手册中的定时器章表74有体现

ITR触发信号
ITRx经过设置,产生触发信号。进入下一个环节。

TI1的边沿检测器
TI1F_ED:TI1的边沿检信号,在霍尔传感器模式下,会检测TI1的变化,从输入是TI1F_ED。
每当3个输入之一变化时,计数器从新从0开始计数。这样产生一个由霍尔输入端的任何变化而触发的时间基准。

TRC:通过选择器选择TI1边沿与内部触发后,发出的触发信号。

TRGI:最终的触发输入。

TGI:触发输入中断位

TRGO:触发输出。作为主模式去发出控制其他定时器的触发信号,应该与其他定时器的ITRx相连。

关于STM32数据手册中的定时器信号的更多相关文章

  1. stm32之Cortex系统定时器(SysTick)

    转载自:http://www.21ic.com/app/mcu/201811/781135.htm   SysTick时钟,俗称“嘀嗒定时器”,它能按设定的时间产生一次中断.控制工程代码中随处可见形如 ...

  2. pyqt4:在线程Qthread中使用定时器Qtimer

    GUI main 部分,主app类中的__init__初始化方法中添加 实例化线程 self.s2_thread=Worker2() 初始化一个定时器 self.log_get=QtCore.QTim ...

  3. Qt中使用定时器(可使用QObject::timerEvent定时执行,QTimer::singleShot可只触发一次)

    在Qt中使用定时器有两种方法,一种是使用QObiect类的定时器:一种是使用QTimer类.定时器的精确性依赖于操作系统和硬件,大多数平台支持20ms的精确度 1.QObject类的定时器 QObje ...

  4. 让你提前认识软件开发(21):C程序中的定时器

    版权声明:本文为博主原创文章.对文章内容有不论什么意见或建议.欢迎与作者单独交流.作者QQ(微信):245924426. https://blog.csdn.net/zhouzxi/article/d ...

  5. linux中的常用信号

    linux中的常用信号,见如下列表: 信号名 值 标注 解释 ------------------------------------------------------------------ HU ...

  6. 浅谈JavaScript中的定时器

    引言 使用setTimeout()和setInterval()创建的定时器可以实现很多有意思的功能.很多人认为定时器是一个单独的线程(之前我也是),但是JavaScript是运行在单线程环境中的,而定 ...

  7. 第十四篇:在SOUI中使用定时器

    前言 定时器是win32编程中常用的制作动画效果的手段.在Win32编程中,可以使用::SetTimer来创建定时器,定时器消息会被会发到调用SetTimer时指定的HWND. 在SOUI中一般来说只 ...

  8. cocos2dx中的定时器及其分类

    cocos2dx中的定时器分三大类: 1.帧循环定时器 2.一次性定时器 3.自定义定时器 一.帧循环定时器,顾名思义,每一帧都会执行一次,用于实时性要求比较高的场合,如碰撞检测 void sched ...

  9. C++控制台程序中使用定时器

    转自博客:http://www.cnblogs.com/phinecos/archive/2008/03/08/1096691.html 作者:洞庭散人 “我现在项目是一个控制台程序,用到的Win32 ...

随机推荐

  1. es6笔记(3.1)三个点的“...”的作用

    展开运算符(spread operator) ES6中"..."的作用之一是,展开运算符. 顾名思义,它的作用是把某些结合数据展开. 在Array.Object.Set和Map上都 ...

  2. Jenkins的安装及使用(一)

    操作环境:Windows7 一.环境准备 1 安装JDK 本文采用jdk-8u111-windows-x64.exe: 安装完成后配置环境变量. 2 配置tomcat 本文采用tomcat8,免安装版 ...

  3. CVTE笔试题

    一.题目 给定一个数组a[N],我们希望构造数组b [N],其中b[j]=a[0]*a[1]…a[N-1] / a[j],在构造过程中,不允许使用除法: 要求O(1)空间复杂度和O(n)的时间复杂度: ...

  4. IIS部署常见问题总结

    1.通过网站子目录访问后台管理 场景:前台和后台分为两个项目开发,域名只有一个(t.cn),作为前台的地址,后台的地址希望指定为 t.cn/admin 项目部署的时候,需要把后台项目转化为/admin ...

  5. 使用badblocks命令检测、修复硬盘坏道(待验证)

    今天我的新硬盘到了.暂时没想好怎么用它.可以把它装入光驱位硬盘架给G430用,也可以把它当成移动硬盘来用. 想起以前记录过一个badblocks的用法,用来检查坏道,这里再贴一遍备用. ####### ...

  6. 小白学习安全测试(二)——httrack的安装和使用

    httrack是一款免费的网站镜像程序,简单理解就是可以在网站结构(网页及一些主要信息文件),下载到本地,可离线浏览,我是按照搭建成功后的console直译过来的 下面说下安装: 我都是在Linux环 ...

  7. 【LOJ】#2535. 「CQOI2018」九连环

    题解 简单分析一下,有\(k\)个环肯定是,我拆掉了\(k - 2\)个,留最左两个,1步拆掉最左的,这个时候我还要把这\(k - 2\)个环拼回去,拆一次\(k - 1\) 所以方案数就是\(f[k ...

  8. mysql xtrabackup工具备份

    一.注意事项 建议用xtrabackup备份时采用全备或增量备份的方式,楼主也尝试过单库备份,但是都以备份后恢复到已经存在数据库的mysqldata目录下后部分库会出幺蛾子而告终,建议使用mysqld ...

  9. MapReduce原理2

    MapReduce的shuffle机制 1.概述 mapreduce中,map阶段处理的数据如何传递给reduce阶段,是mapreduce框架中最关键的一个流程,这个流程就叫shuffle: shu ...

  10. linux cudnn安装

    cudnn-8.0-linux-x64-v5.1链接:http://pan.baidu.com/s/1c1JuMty 密码:v0g9 #以CuDNN的v5.1版本,Cuda 8.0为例 sudo ta ...