OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 5469|回复: 6

上升沿捕捉和定时器清零的问题

[复制链接]

0

主题

3

帖子

0

精华

新手入门

积分
17
金钱
17
注册时间
2022-6-14
在线时间
12 小时
发表于 2022-7-18 15:40:01 | 显示全部楼层 |阅读模式
5金钱
本帖最后由 电力电子xiaocai 于 2022-7-18 15:41 编辑

各位大佬们好,我使用定时器TM1的一个通道来模拟外部产生的上升沿,定时器TIM2用来输入捕获它的上升沿,然后在它的中断中清零TM8的CNT,黑色的是配置的TM8的通道,使用的是PWM1模式,但是却产生了很大的滞后,频率才25k就这样了,恳请各位解答一下问题所在(示波器的图忘了截了,所以手画一下望各位谅解)
0e70ae2fa9e5e12c67604f32ffc6c61.jpg

最佳答案

查看完整内容[请看2#楼]

进中断内核处理压栈消耗1us多。当然会导致滞后。 如果你需要清零TIM8效果。 直接把TIM2的捕获事件内部链接到TIM8的输入事件上自动清零就好了。具体查看SMCR和CR2寄存器。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

1

主题

89

帖子

0

精华

高级会员

Rank: 4

积分
842
金钱
842
注册时间
2020-6-12
在线时间
303 小时
发表于 2022-7-18 15:40:02 | 显示全部楼层
进中断内核处理压栈消耗1us多。当然会导致滞后。  如果你需要清零TIM8效果。  直接把TIM2的捕获事件内部链接到TIM8的输入事件上自动清零就好了。具体查看SMCR和CR2寄存器。
回复

使用道具 举报

0

主题

3

帖子

0

精华

新手入门

积分
17
金钱
17
注册时间
2022-6-14
在线时间
12 小时
 楼主| 发表于 2022-7-19 21:23:26 | 显示全部楼层
rektito 发表于 2022-7-19 14:49
进中断内核处理压栈消耗1us多。当然会导致滞后。  如果你需要清零TIM8效果。  直接把TIM2的捕获事件内部链 ...

好的谢谢您,我去看看
回复

使用道具 举报

0

主题

3

帖子

0

精华

新手入门

积分
17
金钱
17
注册时间
2022-6-14
在线时间
12 小时
 楼主| 发表于 2022-7-20 16:24:40 | 显示全部楼层
rektito 发表于 2022-7-19 14:49
进中断内核处理压栈消耗1us多。当然会导致滞后。  如果你需要清零TIM8效果。  直接把TIM2的捕获事件内部链 ...

您好,我按照您的指导写了如下的配置:
        TIM_SelectMasterSlaveMode(TIM2,TIM_MasterSlaveMode_Enable);
        TIM_SelectOutputTrigger(TIM2,TIM_TRGOSource_OC1);        
        TIM_SelectSlaveMode(TIM8,TIM_SlaveMode_Reset);              
        TIM_SelectInputTrigger(TIM8,TIM_TS_ITR1);  
输入捕获那里是正常的,但是没有触发TIM8的复位不知道怎么回事,您看有什么要注意的地方吗                 
回复

使用道具 举报

1

主题

89

帖子

0

精华

高级会员

Rank: 4

积分
842
金钱
842
注册时间
2020-6-12
在线时间
303 小时
发表于 2022-7-21 09:08:50 | 显示全部楼层
电力电子xiaocai 发表于 2022-7-20 16:24
您好,我按照您的指导写了如下的配置:
        TIM_SelectMasterSlaveMode(TIM2,TIM_MasterSlaveMode_E ...

仿真看看每个寄存器是否被配置了。 这几句话没有问题 不过我记得好像有先后问题。
回复

使用道具 举报

13

主题

643

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2432
金钱
2432
注册时间
2019-12-28
在线时间
527 小时
发表于 2022-7-21 11:23:25 | 显示全部楼层
帮顶,仿真看看吧,比较直观
回复

使用道具 举报

0

主题

3

帖子

0

精华

新手入门

积分
17
金钱
17
注册时间
2022-6-14
在线时间
12 小时
 楼主| 发表于 2022-7-25 11:08:01 | 显示全部楼层
rektito 发表于 2022-7-21 09:08
仿真看看每个寄存器是否被配置了。 这几句话没有问题 不过我记得好像有先后问题。

感谢大佬的指导,使用从模式外部触发复位实现了想要的效果了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-2-25 12:41

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表