你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32 用主从定时器方式实现DSP QEP模块的QCTMR功能,异常

[复制链接]
lzylzy1212 提问时间:2026-4-9 10:53 / 未解决

DSP的QEP有个功能QCTMR,可以提高编码器线数较少且转速低时的速度计算精度。原理:在读取QEP的脉冲数时,可以获得当前QCTMR定时器的值,该QCTMR定时器可配置为在每个QEP脉冲到的时候会被自动清零,这样能够补偿因QEP脉冲变化较少时的速度计算误差。

现在就是想用stm32实现dsp qep模块的QCTMR功能。用的H723芯片,我们把主定时器TIM2配置成正交编码器模式Encoder Mode Tl1 and Tl2,接ABZ编码器。另外配置一个从定时器TIM23为普通周期计数模式。然后也想要每个QEP脉冲变化时能有触发信号使得从定时器复位,因此配置了主TIM2触发模式为TIM_TRGO_OC1,TIM23从模式配置为复位。现在QEP变化可以复位TIM23->CNT,目前的问题是1个ABZ有4个qep脉冲变化,但只复位了1次TIM23。

代码如下:

TIM2的配置代码a3770e3a-d409-4bde-ae16-c8daae931e2d.png

TIM23的配置代码3a9cfd216097c992f22170268257a6e4.png

想问一下,这种实现方式可行吗?为什么1个周期4个脉冲变化只复位了1次从定时器呢,哪里有问题。求解答

image.png
image.png
image.png
image.png
image.png
收藏 评论2 发布时间:2026-4-9 10:53

举报

2个回答
lzylzy1212 回答时间:1 小时前

顶一下😄

lzylzy1212 回答时间:1 小时前

3a9cfd216097c992f22170268257a6e4.png8f68966a4628d1ae7a22672f61705910.png

所属标签

相似问题

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版