打印
[AT32F435]

TMR8定时问题

[复制链接]
299|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 Embeding 于 2025-4-24 09:25 编辑

muyichuan2012 来啊,别只知道删啊,拿出点真本事来解决问题啊
我用TMR8定时器实现函数void set_tmr8_params(float time_ms, uint16_t *tim_repetition_counter,uint16_t *tim_div, uint16_t *tim_pr),输入参数为浮点型的定时时间,单位毫秒,范围0.01--999999.0。 使用方式为用定时器3触发DMA数据传输到外设SPI4,在完成中断中启动TMR8定时时间1,定时时间1完成后调用定时器3触发DMA数据传输到外设SPI4,在完成中断中启动TMR8定时时间2,如此循环。
      实际运行发现定时时间1和定时时间2在15秒内是准确的,超过15秒定时不准确。调试查看TMR8的定时相关参数是正确的,检查了主频,分频没看出问题。不知道问题出在哪里,所以来请教各位。我也担心是哪个粗心的小遗漏导致出现此问题,怕耽误大家时间,我检查了好几次配置等问题,如果最后还是小遗漏或其他小问题导致的,那是我水平不行,说声抱歉。
     
这是TMR8的定时器配置


这是根据配置计算的定时频率,是正确的,运行时却不正确,如果定时15秒以内,运行时是正确的。

使用特权

评论回复
沙发
呐咯密密| | 2025-4-23 10:44 | 只看该作者
运行到15秒后的寄存器状态是啥样的可以看看吗

使用特权

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

本版积分规则

10

主题

29

帖子

0

粉丝