OpenEdv-开源电子网

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

TIM2输入捕获中断时去读TIM5定时器的值会出错?

[复制链接]

33

主题

80

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
251
金钱
251
注册时间
2016-10-19
在线时间
30 小时
发表于 2018-6-4 21:10:43 | 显示全部楼层 |阅读模式
1金钱
如题,我将TIM2、TIM5都设置为输入捕获(TIM5就是按照原子哥实验的那个例程,一模一样的代码),然后TIM2和TIM5好像也都一样。所以我也是基本拷贝的。用的引脚是:TIM5CH1--PA0,TIM2CH1--PA5
唯一不同的是在TIM2捕获到上升沿时的中断处理函数里去读TIM5->CCR1的值。因为我想TIM5->CCR1清零的时候是TIM5捕获到PA0输入信号的上升沿,TIM2中断也是捕获到PA5输入信号的上升沿,都是上升沿,相差之值就是时间差,时间差/周期*360就是相位差了。


实际结果是1000Hz的方波输入,TIM5、TIM2都能单独测出其周期,TIM5下降沿中断时去读TIM5->CCR1的值大概是500,但是TIM2上升沿中断时去读竟然是895391,十万数量级的。。。完全不知道什么情况
按照1MHz的初始化频率,895391完全没有可能出现啊。
不知道这是为什么,是只有中断时才能读CCR1?

最佳答案

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

已解决,是读TIMx->CNT的值 哈哈哈哈
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

33

主题

80

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
251
金钱
251
注册时间
2016-10-19
在线时间
30 小时
 楼主| 发表于 2018-6-4 21:10:44 | 显示全部楼层
已解决,是读TIMx->CNT的值
哈哈哈哈
回复

使用道具 举报

16

主题

111

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1242
金钱
1242
注册时间
2017-3-18
在线时间
312 小时
发表于 2018-6-6 10:04:08 | 显示全部楼层
在LS参考系 发表于 2018-6-4 21:10
已解决,是读TIMx->CNT的值
哈哈哈哈

你这个能说明一下?我也碰到过类似问题,读到的CCR1值突然增大,跟你的情况相同。
回复

使用道具 举报

33

主题

80

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
251
金钱
251
注册时间
2016-10-19
在线时间
30 小时
 楼主| 发表于 2018-6-10 22:36:42 | 显示全部楼层
l68715553 发表于 2018-6-6 10:04
你这个能说明一下?我也碰到过类似问题,读到的CCR1值突然增大,跟你的情况相同。

我的情况是在不是TIM2捕获中断的时候去读了TIM2-CCR1的值,这样会出问题,因为TIM2-CCR1的值只有在TIM2捕获中断发生后才会被存入。
而TIM2-CNT的值随时都可以去读,就是计数的值。
而TIM2-CCR1是在TIM2捕获中断发生后,将TIM2-CNT的值存入到自己这里才有的。
大致就是这样,不知道是否解决了你的问题。
回复

使用道具 举报

16

主题

111

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1242
金钱
1242
注册时间
2017-3-18
在线时间
312 小时
发表于 2018-6-11 17:00:35 | 显示全部楼层
在LS参考系 发表于 2018-6-10 22:36
我的情况是在不是TIM2捕获中断的时候去读了TIM2-CCR1的值,这样会出问题,因为TIM2-CCR1的值只有在TIM2捕 ...

好的,谢谢你的解答。我的情况和你不一样,每次读取都是在中断之后,此时CCR1已经有了CNT的值。我碰到的问题是:在算频率,a1=第一次捕获值时间,a2=某次捕获时间,频率=pclk/(a2-a1)*(捕获次数-1),时间差里已经算进了捕获时的溢出次数,所以肯定不会有问题。PCLK为晶振值=1000000。碰到的情况是:经常不经意的频率会变成1000多甚至更大,最常出现3906.25HZ这个值。实际情况只有2、3这样。一般这个计算公式,每3次捕获我就会刷新重新第一个开始,所以捕获次数=3,(a2-a1)=512.最后算出来这个512到底有什么含义?是哪里溢出的关系吗?
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-5-28 04:10

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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