依据 发表于 2025-6-28 19:03

AT32F421定时器PWM输入捕获功能实现中的问题

实验的目的:通过AT32F421G8U7的定时器TMR3_CH1实现PWM的输入捕获,并计算出高电平时长、频率、周期、占空比等参数。在没有PWM信号输入时发生溢出中断,并在溢出中断处理函数中将参数a置1.遇到的问题:发现输入捕获中断开启后,就无法发生溢出中断(溢出中断处理函数不被执行);关闭输入捕获中断,溢出中断处理函数就会被执行。这可如何解决?请各位同学解惑、指教,感谢!

muyichuan2012 发表于 2025-6-30 18:01

可以参考BSP里这个现成案例
AT32L021_Firmware_Library/ project / at_start_l021 / examples / tmr / pwm_input

暖茶轻语 发表于 2025-7-3 11:28

这种情况可能是中断优先级配置的问题。检查一下你的中断优先级设置,确保PWM输入捕获中断和溢出中断没有冲突。

暗夜幽灵骑士 发表于 2025-7-3 14:46

这个问题可能是由于中断优先级配置不当导致的。你检查一下中断优先级设置,确保PWM输入捕获中断和溢出中断没有冲突。

抱素 发表于 2025-7-5 15:49

检查定时器时钟源、输入滤波器配置,确保触发边沿与信号匹配,避免漏捕获。

寂静之回响 发表于 2025-7-8 08:48

二楼说的是对滴,参考这个例程
AT32L021_Firmware_Library/ project / at_start_l021 / examples / tmr / pwm_input

遗忘领域 发表于 2025-7-9 10:57

寂静之回响 发表于 2025-7-8 08:48
二楼说的是对滴,参考这个例程
AT32L021_Firmware_Library/ project / at_start_l021 / examples / tmr / p ...

我看了这个例程了,里面只是讲了中断,楼主这个应该需要捕获中断之类的

穷得掉渣大侠 发表于 2025-7-9 11:23

看起来像是中断优先级设置的问题。检查一下你的中断优先级设置,确保PWM输入捕获中断和溢出中断没有冲突。

穷得响叮当侠 发表于 2025-7-9 14:43

这种情况可能是中断优先级设置不当导致的。检查一下你的中断优先级设置,确保PWM输入捕获中断和溢出中断的优先级是合理的。
页: [1]
查看完整版本: AT32F421定时器PWM输入捕获功能实现中的问题