TIM模块

一、概述

时基单元,也就是决定了定时器的基本功能的模块包含:
1.计数器寄存器(Counter register,简写为TIMx_CNT)
2.预分频器寄存器 (Prescaler register,简写为TIMx_PSC)
3.自动装载寄存器 (Auto-reload register,简写为TIMx_ARR)
4.重复次数寄存器 (Repetition counter register,简写为TIMx_RCR),只有高级定时器有。

二、影子寄存器

图中有阴影的寄存器(PSC、ARR、CCRx、RCR)其实存在两个:一个是可读写的寄存器,称为预装载寄存器,另一个无法真正读写,但使用中真正起作用的寄存器,称为影子寄存器。

当更新事件产生是,影子寄存器被更新为预装载寄存器的内容,这样设计保障多个通道的时序同步。

更新事件(UEV)的产生:计数器溢出(如果使用了重复计数器功能,则重复计数器减一,直到为0,产生更新事件);设置事件产生寄存器TIMx_EGR 中的UG位;从模式控制器产生。

设置TIMx_CR1寄存器中的UDIS位,可以禁止更新事件,如果设置UG位或从模式控制器发出了一个硬件复位,则计数器和预分频器被重新初始化。

设置了TIMx_CR1寄存器中的URS位,则只有计数器溢出/下溢才产生更新中断或DMA请求。

时间: 2024-10-15 17:04:34

TIM模块的相关文章

STM32学习笔记2(TIM模块定时器)

TIM模块定时器向上溢出 & 输出比较 首先我们必须肯定ST公司的实力,也承认STM32的确是一款非常不错的Cortex-M3核单片机,但是,他的手册实在是让人觉得无法理解,尤其是其中的TIM模块,没有条理可言,看了两天几乎还是不知所云,让人很是郁闷.同时配套的固件库的说明也很难和手册上的寄存器对应起来,研究起来非常费劲!功能强大倒是真的,但至少也应该配套一个让人看的明白的说明吧~~两天时间研究了STM32定时器的最最基础的部分,把定时器最基础的两个功能实现了,余下的功能有待继续学习.首先有一点

STM32学习笔记6(TIM通用模块生成PWM)

1.     TIMER输出PWM基本概念   脉冲宽度调制(PWM),是英文“Pulse Width Modulation”的缩写,简称脉宽调制,是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术.简单一点,就是对脉冲宽度的控制.一般用来控制步进电机的速度等等. STM32的定时器除了TIM6和TIM7之外,其他的定时器都可以用来产生PWM输出,其中高级定时器TIM1和TIM8可以同时产生7路的PWM输出,而通用定时器也能同时产生4路的PWM输出. 1.1   PWM输出模式 S

Python inspect模块学习

今天发现Python inspect模块中一个有趣的功能, 可以让我们方便地检视Python库中的源代码, 知道模块具体是怎样实现的, 满足了像我这样有偷窥欲的人-.- 那就是inspect中的getsource 它的用法如下: 例如要检视Python的The Zen of Python 我们可以: In [1]: import inspect In [2]: import this The Zen of Python, by Tim Peters Beautiful is better tha

Python中fileinput模块介绍

fileinput模块可以对一个或多个文件中的内容进行迭代.遍历等操作. 该模块的input()函数有点类似文件readlines()方法,区别在于: 前者是一个迭代对象,即每次只生成一行,需要用for循环迭代. 后者是一次性读取所有行.在碰到大文件的读取时,前者无疑效率更高效. 用fileinput对文件进行循环遍历,格式化输出,查找.替换等操作,非常方便. [典型用法] import fileinput for line in fileinput.input(): process(line)

python linux交互模块(paramiko、fabric与pexpect)

转载自: http://blog.csdn.net/alibert/article/details/54375276 paramiko paramiko模块是基于Python实现的SSH远程安全连接,用于SSH远程执行命令.文件传输等功能. 默认python没有,需要手动安装:pip install paramiko 如安装失败,可以尝试yum安装:yum install python-paramiko 18.1.1 SSH密码认证远程执行命令 1 2 3 4 5 6 7 8 9 10 11 1

企业办公IM风云再起,腾讯TIM引领行业未来三大趋势

IM是Internet上最流行的即时通讯(Instant Messaging)方式,它通过互联网实现多种形态的信息高速交流和传播.随着技术的进步,其所提供的通讯服务功能也越来越丰富.即时通讯不仅深化应用于我们的日常生活,IM作为信息流通的载体,也同样受到企业办公人员的重视和广泛使用. Web2.0时代的到来加速了信息共享和内容膨胀,复杂的市场需求一日千里,瞬息万变:商业体系的复杂化决定了客户群体也逐渐走向分散,工作方式的流动性导致员工的地理位置分布也越来越广泛--企业要从日益激烈的商业竞争环境中

python 各模块

01 关于本书 02 代码约定 03 关于例子 04 如何联系我们 1 核心模块 11 介绍 111 内建函数和异常 112 操作系统接口模块 113 类型支持模块 114 正则表达式 115 语言支持模块 12 _ _builtin_ _ 模块 121 使用元组或字典中的参数调用函数 1211 Example 1-1 使用 apply 函数 1212 Example 1-2 使用 apply 函数传递关键字参数 1213 Example 1-3 使用 apply 函数调用基类的构造函数 122

转:Python标准库(非常经典的各种模块介绍)

Python Standard Library 翻译: Python 江湖群 10/06/07 20:10:08 编译 0.1. 关于本书 0.2. 代码约定 0.3. 关于例子 0.4. 如何联系我们 核心模块 1.1. 介绍 1.2. _ _builtin_ _ 模块 1.3. exceptions 模块 1.4. os 模块 1.5. os.path 模块 1.6. stat 模块 1.7. string 模块 1.8. re 模块 1.9. math 模块 1.10. cmath 模块

Python中fileinput模块使用

fileinput模块可以对一个或多个文件中的内容进行迭代.遍历等操作.该模块的input()函数有点类似文件 readlines()方法,区别在于前者是一个迭代对象,需要用for循环迭代,后者是一次性读取所有行. 用fileinput对文件进行循环遍历,格式化输出,查找.替换等操作,非常方便. [典型用法] import fileinput for line in fileinput.input(): process(line) [基本格式] fileinput.input([files[,