STM32F4具有DMA的PWM输入模式。无法测量占空比

时间:2018-07-31 09:42:51

标签: c arm stm32f4discovery

我正在尝试测量PWM信号占空比。我努力在STM32CubeMX中进行所有配置,并且我正在使用STM32F407G-Disc1发现板。

我已经配置了一个计时器来生成PWM信号,另一个计时器来捕获它。

下面的

TIM2用于产生周期时间(T)为20ms且Ton = 1ms的PWM信号。 TIM2 generating PWM signal

TIM3配置为PWM输入捕捉模式。目前,我怀疑配置是否正确。您能先验证一下吗?

Pin configuration of the TIM3 TIM3 PWM input capture mode

然后,我将电线从PA0 (TIM2_CH1)连接到PA6 (TIM3_CH1),并且还连接了一个LED,以可视方式验证信号。还要用示波器检查-pwm正确生成。


下一步是使用DMA请求捕获测量值。

自动生成的main.c

uint32_t pwm[1] = {0};
// ...
if(HAL_TIM_IC_Start_DMA(&htim3, TIM_CHANNEL_1, pwm, 1) != HAL_OK)
{
    _Error_Handler(__FILE__, __LINE__);
}

稍后进行调试将显示pwm[0]等于20000的内容,这是正确的。

如何测量周期的Ton(信号为逻辑1时)?

我也尝试过为TIM3的通道2启用DMA请求,但最终以_Error_Handler()结尾。


谢谢!

0 个答案:

没有答案