stm32定时器pwm模式输入捕获

STM32的定时器在输入捕获模式下,可用于计算频率、占空比等。在PWM模式下,通过TIM3生成1KHz、50%占空比的PWM信号,TIM2的CH2进行捕获。具体步骤包括配置通道为从机模式,捕获上升沿和下降沿,计算频率和占空比。程序中涉及RCC、GPIO、NVIC、TIM和USART的配置,并通过中断处理捕获事件。
摘要由CSDN通过智能技术生成

stm32定时器pwm模式输入捕获##

stm32中的定时器,除了TIM6和TIM7,其他定时器都有输入捕获功能。这种模式通常用在对输入信号频率frequency、占空比duty、高低脉宽的计算中,具有很广泛的用途。

STM32的输入捕获,简单的说就是通过检测TIMx_CHx上的边沿信号,在边沿信号发生跳变(比如上升沿/下降沿)的时候,将当前定时器的值(TIMx_CNT)存放到对应的通道的捕获/比较寄存(TIMx_CCRx)里面,完成一次捕获。同时还可以配置捕获时是否触发中断/DMA 等。

PWM模式捕获方法:利用TIM3_CH1作PWM输出,TIM2_CH2捕获上述PWM信号,并测出频率和占空比。设置PWM频率为1KHz,占空比50%。
具体步骤:

  1. 为了实现PWM输入捕获,TIM2占用了2个通道。第2通道的电平变化会被第一通道和第二通道引脚检测到,其中第一通道被设置为从机模式(如何快速判别主从机模式,规则如下:如果设置的是第二通道作为PWM输入捕获,则剩余的第一通道都为从机,反之亦然)。
  2. 假设输入的PWM从低电平开始跳变,在第一个上升沿到来时,1,2通道同时检测到上升沿。而从机设置为复位模式,所以将TIM2的计数值复位至0,此时不会产生一个中断请求。
  3. 下一个到来的电平是下降沿,此时通道1发生捕获事件,将计数值存入通道1的CCR1里。
  4. 然后是第二个上升沿到来后,此时通道2发生捕获事件,将此时的计数值存入通道2的CCR2里。复位模式此时又将TIM2计数值复位至0,等待第二个下降沿到来。
  5. 一次捕获过程完成,则PWM的频率f=72M/CCR2;占空比:duty=(CCR1/CCR2) X100%

注:图1,定时器内部结构
PWM输入模式时,用到两个通道(一般用TIMx_CH1或TIMx_CH2),只给其中一个通道分配gpio时钟即可,另一个在内部使用。给一个通道分配gpio时钟后,需要设置另一个为从机且复位模式。(例如使用ch2,ch1就得设置成从机模式)。当一个输入信号(TI1或TI2)来临时,主通道捕获上升沿,从机捕获下降沿。
在CH2通道中:
TI2FP1和TI2FP2都来自同一信号TI2 的边沿检测,信号相同,同一个TIx输入映射了两个ICx信号。
TI2FP1和TI2FP2可以分别由连接到的ICx (IC1或是IC2)相对应的控制寄存器设为上升沿或是下降沿触发,这两个ICx信号分别在相反的极性边沿有效。如果TI2FP2设置为上升沿触发,则TI2FP1设置为下降沿触发,二者极性相反。
CH1,3,4相同。

具体程序:
include “pbdata.h”

void RCC_C

除了TIM6和TIM7以外的定时器,其他定时器都可以用来产生PWM输出。其中高级定时器TIM1和TIM8可以同时产生多达7路的PWM输出,而通用定时器也能同时产生多达4路的PWM。此外,STM32定时器还具有输入捕获功能,可以用于对输入信号的频率、占空比、高低脉宽等参数的计算。对于PWM输入捕获,可以通过设置定时器的通道来实现。例如,通过利用TIM3_CH1作为PWM输出,TIM2_CH2进行捕获,可以量出PWM的频率和占空比。具体步骤如下:首先设置PWM输出频率为1KHz,占空比为50%。为了实现PWM输入捕获,TIM2占用了2个通道,其中第2通道的电平变化会被第1通道和第2通道引脚检到。假设输入的PWM从低电平开始跳变,在第一个上升沿到来时,1,2通道同时检到上升沿。而从机设置为复位模式,将TIM2的计数值复位至0,此时不会产生一个中断请求。下一个到来的电平是下降沿,此时通道1发生捕获事件,将计数值存入通道1的CCR1里。然后是第二个上升沿到来后,此时通道2发生捕获事件,将此时的计数值存入通道2的CCR2里。复位模式此时又将TIM2计数值复位至0,等待第二个下降沿到来。一次捕获过程完成,则PWM的频率f=72M/CCR2,占空比duty=(CCR1/CCR2) X 100%。综上所述,STM32定时器可以实现PWM输入捕获功能,并可以用来PWM的频率和占空比。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [stm32定时器部分学习(通用定时器的用法、PWM输入捕获)](https://blog.csdn.net/non_mainstream/article/details/79221519)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [stm32定时器pwm模式输入捕获](https://blog.csdn.net/qq_29413829/article/details/52743273)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值