打印
[其他ST产品]

STM32 TImer几种模式

[复制链接]
785|43
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主

STM32 TImer几种模式_通用定时器

使用特权

评论回复
沙发
和下土|  楼主 | 2021-3-28 23:22 | 只看该作者
输入捕获模式

库函数例程位置: STM32F10x_StdPeriph_Lib_V3.3.0\Project\STM32F10x_StdPeriph_Examples\TIM\InputCapture

使用特权

评论回复
板凳
和下土|  楼主 | 2021-3-28 23:23 | 只看该作者
在输入捕获模式下,当检测到ICx信号上相应的边沿后,计数器的当前值被锁存到捕获/比较寄存器(TIMx_CCRx)中。当捕获事件发生时,相应的CCxIF标志(TIMx_SR寄存器)被置’1’,如果使能了中断或者DMA操作,则将产生中断或者DMA操作。

使用特权

评论回复
地板
和下土|  楼主 | 2021-3-28 23:24 | 只看该作者
在捕获模式下,捕获发生在影子寄存器上,然后再复制到预装载寄存器中。

使用特权

评论回复
5
和下土|  楼主 | 2021-3-28 23:24 | 只看该作者
PWM输入模式

库函数例程位置 :STM32F10x_StdPeriph_Lib_V3.3.0\Project\STM32F10x_StdPeriph_Examples\TIM\PWM_Input

使用特权

评论回复
6
和下土|  楼主 | 2021-3-28 23:25 | 只看该作者
该模式是输入捕获模式的一个特例

例如,你需要测量输入到TI1上的PWM信号的长度(TIMx_CCR1寄存器)和占空比(TIMx_CCR2寄存器),具体步骤如下(取决于CK_INT的频率和预分频器的值)

使用特权

评论回复
7
和下土|  楼主 | 2021-3-28 23:26 | 只看该作者
选择TIMx_CCR1的有效输入:置TIMx_CCMR1寄存器的CC1S=01(选择TI1)。

使用特权

评论回复
8
和下土|  楼主 | 2021-3-28 23:27 | 只看该作者
● 选择TI1FP1的有效极性(用来捕获数据到TIMx_CCR1中和清除计数器):置CC1P=0(上升沿有效)。

使用特权

评论回复
9
和下土|  楼主 | 2021-3-28 23:28 | 只看该作者
● 选择TIMx_CCR2的有效输入:置TIMx_CCMR1寄存器的CC2S=10(选择TI1)。

使用特权

评论回复
10
和下土|  楼主 | 2021-3-28 23:28 | 只看该作者
● 选择TI1FP2的有效极性(捕获数据到TIMx_CCR2):置CC2P=1(下降沿有效)。

使用特权

评论回复
11
和下土|  楼主 | 2021-3-28 23:29 | 只看该作者
● 选择有效的触发输入信号:置TIMx_SMCR寄存器中的TS=101(选择TI1FP1)。

使用特权

评论回复
12
和下土|  楼主 | 2021-3-28 23:29 | 只看该作者
● 配置从模式控制器为复位模式:置TIMx_SMCR中的SMS=100。

使用特权

评论回复
13
和下土|  楼主 | 2021-3-28 23:30 | 只看该作者
● 使能捕获:置TIMx_CCER寄存器中CC1E=1且CC2E=1。

使用特权

评论回复
14
和下土|  楼主 | 2021-3-28 23:31 | 只看该作者

由于只有TI1FP1和TI2FP2连到了从模式控制器,所以PWM输入模式只能使用TIMx_CH1 /TIMx_CH2信号。

使用特权

评论回复
15
和下土|  楼主 | 2021-3-28 23:31 | 只看该作者
强置输出模式

在输出模式(TIMx_CCMRx寄存器中CCxS=00)下,输出比较信号(OCxREF和相应的OCx)能够直接由软件强置为有效或无效状态,而不依赖于输出比较寄存器和计数器间的比较结果。

例如:CCxP=0(OCx高电平有效),则OCx被强置为高电平。 置TIMx_CCMRx寄存器中的OCxM=100,可强置OCxREF信号为低。

使用特权

评论回复
16
和下土|  楼主 | 2021-3-28 23:32 | 只看该作者
输出比较模式

此项功能是用来控制一个输出波形,或者指示一段给定的的时间已经到时。 当计数器与捕获/比较寄存器的内容相同时,输出比较功能做如下操作:

使用特权

评论回复
17
和下土|  楼主 | 2021-3-28 23:33 | 只看该作者
● 将输出比较模式(TIMx_CCMRx寄存器中的OCxM位)和输出极性(TIMx_CCER寄存器中的CCxP位)定义的值输出到对应的引脚上。在比较匹配时,输出引脚可以保持它的电平(OCxM=000)、被设置成有效电平(OCxM=001)、被设置成无效电平(OCxM=010)或进行翻转(OCxM=011)。

使用特权

评论回复
18
和下土|  楼主 | 2021-3-28 23:34 | 只看该作者
设置中断状态寄存器中的标志位(TIMx_SR寄存器中的CCxIF位)。

使用特权

评论回复
19
和下土|  楼主 | 2021-3-28 23:35 | 只看该作者
● 若设置了相应的中断屏蔽(TIMx_DIER寄存器中的CCxIE位),则产生一个中断。

使用特权

评论回复
20
和下土|  楼主 | 2021-3-28 23:35 | 只看该作者
● 若设置了相应的使能位(TIMx_DIER寄存器中的CCxDE位,TIMx_CR2寄存器中的CCDS位选择DMA请求功能),则产生一个DMA请求。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

102

主题

1061

帖子

0

粉丝