Stm32高级定时器(二)
Stm32高级定时器(二)
1 主从模式:主?从?
谈论主从,可知至少有两个以上的触发或者驱动信号,stm32内部有多个定时器,可以相互之间驱动或者控制。
- 主模式:定时器使能只受驱动时钟控制或者输出控制信号(TRGO)。
- 从模式:复位模式, 在发生一个触发输入事件时,计数器和它的预分频器能够重新被初始化;同时,如果IMx_CR1寄存器的URS 位为低,还产生一个更新事件UEV ;然后所有的预装载寄存器(TIMx_ARR ,TIMx_CCRx)都被更新了。
- 从模式:门控模式, 计数器的使能依赖于选中的输入端的电平。
- 从模式:触发模式, 计数器的使能依赖于选中的输入端上的事件。
- 从模式:外部时钟模式+触发模式, 外部时钟模式2可以与另一种从模式(外部时钟模式1和编码器模式除外)一起使用。这时,ETR信号被用作外部时钟的输入,在复位模式、门控模式或触发模式可以选择另一个输入作为触发输入。不建议使用TIMx_SMCR寄存器的TS位选择ETR作为TRGI。



2 PWM输入模式

该模式是输入捕获模式的一个特例,特点:
- 两个ICx信号被映射至同一个TIx输入。
- 这2个ICx信号为边沿有效,但是极性相反。
- 其中一个TIxFP信号被作为触发输入信号,而从模式控制器被配置成复位模式。
2.1 PWM捕获结果
TIMx通过过复位启动,复位计数器,TIMx_CCR1捕获TI1的上升沿得到此刻CNT中的值,TIMx_CCR2捕获TI1的下降沿得到此刻CNT中的值,那么有他们的关系就可以得到:
- TI1周期 = TIMx_CCR1 × CNT周期
- 占空比 = TIMx_CCR2/ TIMx_CCR1
2.2 配置实例
测量输入到TI1上的PWM信号的长度(TIMx_CCR1寄存器)和占空比(TIMx_CCR2 寄存器),具体步骤如下(取决于CK_INT的频率和预分频器的值)
1. 选择TIMx_CCR1的有效输入:置TIMx_CCMR1寄存器的CC1S=01(选中TI1)。
2. 选择TI1FP1的有效极性(用来捕获数据到TIMx_CCR1中和清除计数器):置CC1P=0(上升沿有效)。
3. 选择TIMx_CCR2的有效输入:置TIMx_CCMR1寄存器的CC2S=10(选中TI1)。
4. 选择TI1FP2的有效极性(捕获数据到TIMx_CCR2):置CC2P=1(下降沿有效)。
5. 选择有效的触发输入信号:置TIMx_SMCR寄存器中的TS=101(选择TI1FP1)。
6. 配置从模式控制器为复位模式:置TIMx_SMCR中的SMS=100。
7. 使能捕获:置TIMx_CCER寄存器中CC1E=1且CC2E=1。
3 PWM输出模式
脉冲宽度调制模式可以产生一个由TIMx_ARR寄存器确定频率、由TIMx_CCRx寄存器确定占空比的信号。
由下图可知,TIMx_ARR=8(周期),TIMx_CCRx=4(占空比)

Stm32高级定时器(二)的更多相关文章
- Stm32高级定时器(四)
Stm32高级定时器(四) 1 编码器接口模式 1.1 编码器原理 什么是正交?如果两个信号相位相差90度,则这两个信号称为正交.由于两个信号相差90度,因此可以根据两个信号哪个先哪个后来判断方向.根 ...
- Stm32高级定时器(三)
Stm32高级定时器(三) 1 互补输出和死区插入 1.1 死区:某个处于相对无效状态的时间或空间 本来OCX信号与OCXREF时序同相同步,OCXN信号与OCXREF时序反相同步.但为了安全考虑,以 ...
- Stm32高级定时器(一)
Stm32高级定时器(一) 1 定时器的用途 2 高级定时器框图 3 时基单元 4 通道 1 定时器的用途 已知一个波形求另一个未知波形(信号长度和占空比) 已知波形的信号长度和占空比产生一个相应的波 ...
- stm32高级定时器的应用——spwm
用过stm32定时器的朋友都知道,定时器的CCR寄存器,可以用来配置PWM的输出,但同样也可以用来配置spwm.废话不多说,直接上代码. 首先,你得考虑一下几个因素: 1.同步调制还是异步调制. 2 ...
- Stm32高级定时器(转自:luowei_memory)
1 定时器的用途 2 高级定时器框图 3 时基单元 4 通道 1 定时器的用途 已知一个波形求另一个未知波形(信号长度和占空比) 已知波形的信号长度和占空比产生一个相应的波形 增量正交编码器驱动电机获 ...
- STM32高级定时器TIM1产生两路互补的PWM波(带死区)
测试环境:Keil 5.20.0.0 STM32F103RBT6 固件库版本:STM32F10x_StdPeriph_Lib_V3.5.0(2011) 本文使用TIM1的通道1,通道2,产生两路1kh ...
- STM32高级定时器用于普通定时,定时周期变长
最近在用stm32定时器控制步进电机,由于普通定时器不够用,只能把TIM1当普通定时器用,我随手就把普通定时器的代码搬过去. void cs_Timer_Init(void) //TIM1 us级 { ...
- stm32高级定时器1互补输出 验证代码
GPIO_InitTypeDef GPIO_InitStructure; TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure; TIM_OCInitTypeDe ...
- 高级定时器TIM1&TIM8
高级定时器 初识stm32高级定时器: (1)高级控制定时器(TIM1 和 TIM8)和通用定时器在基本 ...
随机推荐
- MySQL 可以用localhost 连接,但不能用IP连接的问题,局域网192.168.*.* 无法连接mysql
Mysql 默认是没有开启这个权限的(只允许使用 host:localhost,或者 host:127.0.0.1),如果想用 host:192.168.1.* ,来访问mysql ,需要手动开启这个 ...
- 毕业设计 ASP.Net+EasyUI开发 X X露天矿调度管理信息系统(二)
这是本毕业设计的雏形和框架,实现的功能在左侧的功能框导航菜单内. 做的太烂,还是把学校名字给马赛克掉吧....省的挨校友批 登陆界面.. <cookie +ispostback实现记住我功能& ...
- 关于解决方案和web文件夹放在同一目录路径错误的问题
今天公司要做个b2b商城,下了个源码,目的是在这个基础上改,可是源码没有解决方案,于是建立了个解决方案,然后添加网站,发现解决方案和web目录位于不同目录(解决方案总是自动生成一个目录),可是我从网上 ...
- cas+tomcat+shiro实现单点登录-1-tomcat添加https协议
目录 1.tomcat添加https安全协议 2.下载cas server端部署到tomcat上 3.CAS服务器深入配置(连接MYSQL) 4.Apache Shiro 集成Cas作为cas cli ...
- UVA 10037 贪心算法
题目链接:http://acm.hust.edu.cn/vjudge/contest/122829#problem/A 题目大意:N个人夜里过河,总共只有一盏灯,每次最多过两个人,然后需要有人将灯送回 ...
- 转载:css3 box-shadow投影发光效果
转载网址:http://www.wufangbo.com/css3-box-shadow/ CSS3的box-shadow属性 可以让我们轻松实现图层阴影效果.我们来实战详解一下这个属性. 1. bo ...
- ThinkPHP整合百度Ueditor
文章来源:http://www.thinkphp.cn/code/267.html ThinkPHP整合百度Ueditor,基于黄永成老师的视频说明的申明:最好大家都能写绝对路径的都写好绝对路径比如: ...
- C语言初学 if-else语句判断俩数的最大值
#include<stdio.h> main() { float a,b; printf("输入俩个任意实数\n"); scanf("%f%f",& ...
- C 产生随机码 (输入数字来产生)
#include <stdio.h> #include <stdlib.h> main() { unsigned int seed; /*申明初始化器的种子,注意是unsign ...
- iOS工程结构
好的架构不是设计出来的,而是进化而来的! 写在前面 从2011年底开始学习iOS开发,到现在也已经快3年了,虽然中途没有一直进行iOS的开发(总是在Android和iOS间切换),但始终没 ...