关于STM32数据手册中的定时器信号
首先,我们可以看到这个图大概有两个不分,一个部分是时钟源,另一个部分则是输入输出
时钟源计数,到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数据手册中的定时器信号的更多相关文章
- stm32之Cortex系统定时器(SysTick)
转载自:http://www.21ic.com/app/mcu/201811/781135.htm SysTick时钟,俗称“嘀嗒定时器”,它能按设定的时间产生一次中断.控制工程代码中随处可见形如 ...
- pyqt4:在线程Qthread中使用定时器Qtimer
GUI main 部分,主app类中的__init__初始化方法中添加 实例化线程 self.s2_thread=Worker2() 初始化一个定时器 self.log_get=QtCore.QTim ...
- Qt中使用定时器(可使用QObject::timerEvent定时执行,QTimer::singleShot可只触发一次)
在Qt中使用定时器有两种方法,一种是使用QObiect类的定时器:一种是使用QTimer类.定时器的精确性依赖于操作系统和硬件,大多数平台支持20ms的精确度 1.QObject类的定时器 QObje ...
- 让你提前认识软件开发(21):C程序中的定时器
版权声明:本文为博主原创文章.对文章内容有不论什么意见或建议.欢迎与作者单独交流.作者QQ(微信):245924426. https://blog.csdn.net/zhouzxi/article/d ...
- linux中的常用信号
linux中的常用信号,见如下列表: 信号名 值 标注 解释 ------------------------------------------------------------------ HU ...
- 浅谈JavaScript中的定时器
引言 使用setTimeout()和setInterval()创建的定时器可以实现很多有意思的功能.很多人认为定时器是一个单独的线程(之前我也是),但是JavaScript是运行在单线程环境中的,而定 ...
- 第十四篇:在SOUI中使用定时器
前言 定时器是win32编程中常用的制作动画效果的手段.在Win32编程中,可以使用::SetTimer来创建定时器,定时器消息会被会发到调用SetTimer时指定的HWND. 在SOUI中一般来说只 ...
- cocos2dx中的定时器及其分类
cocos2dx中的定时器分三大类: 1.帧循环定时器 2.一次性定时器 3.自定义定时器 一.帧循环定时器,顾名思义,每一帧都会执行一次,用于实时性要求比较高的场合,如碰撞检测 void sched ...
- C++控制台程序中使用定时器
转自博客:http://www.cnblogs.com/phinecos/archive/2008/03/08/1096691.html 作者:洞庭散人 “我现在项目是一个控制台程序,用到的Win32 ...
随机推荐
- Value = undefined
Value = undefined Javascript在计算机程序中,经常会声明无值的变量.未使用值来声明的变量,其值实际上是 undefined. 在执行过以下语句后,变量 carname 的值将 ...
- 无法执行该操作,因为链接服务器 "xxxxx" 的 OLE DB 访问接口 "SQLNCLI" 无法启动分布式事务
在存储过程中使用事务,并且使用链接服务器时,报类似下面的错误 链接服务器"****"的 OLE DB 访问接口 "SQLNCLI10" 返回了消息 " ...
- 【CTF WEB】函数绕过
函数绕过 <?php show_source(__FILE__); $c = "<?php exit;?>"; @$c.=$_GET['c']; @$filena ...
- Ansible 插件 之 【CMDB】【转】
Github地址: https://github.com/fboender/ansible-cmdb 从facts收集信息,生成主机概述 安装 wget https://github.com/fboe ...
- gentoo系统安装
1. Gentoo常用镜像 ===>http://www.linuxsir.org/bbs/thread263600.html 2. 安装方式1 http://www.linuxidc.co ...
- [golang note] 环境搭建
LiteIDE(windows) • golang安装 ▶ 下载对应操作系统的版本并安装,下载地址:http://www.golangtc.com/download,譬如这里下载的是go1.6.win ...
- 关于sudo 权限被修改的解决方法
在用sudo安装文件的时候,出现如下错误提示: sudo: /etc/sudoers is world writable sudo: no valid sudoers sources found, q ...
- MySQL 5.6表空间传输
在MySQL 5.6 Oracle引入了一个可移动表空间的特征(复制的表空间到另一个服务器)和Percona Server采用部分备份,这意味着你现在可以备份单个数据库或表:由于Percona Ser ...
- Caffe训练AlexNet网络模型——问题三
caffe 进行自己的imageNet训练分类:loss一直是87.3365,accuracy一直是0 解决方法: http://blog.csdn.net/jkfdqjjy/article/deta ...
- bzoj 1150
思路:写的时候感觉是贪心但是没有什么思路... 看了题解,原来有一个选了能反悔的贪心思路, 如果最优那么每个城市只能和旁边的相邻 城市连边,所以问题变成了由n个数,不能取相邻的两个数,取k个最小是多少 ...