OpenEdv-开源电子网

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

STM32同一定时器同时进行两路输入捕获的问题

[复制链接]

7

主题

44

帖子

0

精华

初级会员

Rank: 2

积分
92
金钱
92
注册时间
2013-3-4
在线时间
0 小时
发表于 2013-5-24 21:27:37 | 显示全部楼层 |阅读模式
之前询问过类似的问题,但只停留在设想阶段,经版主指导现在参考开发板例程开始编写代码,但还是有些不明白的地方:
现在使用TIM3的CH1和CH2同时进行两路输入捕获(各自捕获一段高电平脉冲),如果CH1的上升沿先到,则进入TIM3的中断处理函数,但是如果在执行CH1的捕获处理之时,CH2的上升沿到来该怎么办?现在正在TIM3的中断之中,CH2的这一路没法处理啊?
之前版主说可以同时进行,但当时还没看过代码所以不太了解细节,现在这点不太明白,希望版主及给各位高人帮帮忙,提供下思路,十分感谢。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

7

主题

44

帖子

0

精华

初级会员

Rank: 2

积分
92
金钱
92
注册时间
2013-3-4
在线时间
0 小时
 楼主| 发表于 2013-5-25 16:58:38 | 显示全部楼层
回复【6楼】正点原子:

那2个定时器还存在CPU在处理定时器1中断的时候,中断2来了咋办?
那用2个cpu吧...

---------------------------------
是啊,原子哥,我也这么想来着。
真的要同时处理两路的话必须要两个CPU啊。看来如果只用一个CPU的话只能交替使用了。
多谢了。
回复 支持 0 反对 1

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-5-24 21:34:54 | 显示全部楼层
回复【楼主位】绘梦之卷:
---------------------------------
这就要求你的中断处理尽量短了.CH2上升沿到来了,会置位标志位,只要你退出CH1中断的时候,不把CH2的标志给清零,还是会进入中断的.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

7

主题

44

帖子

0

精华

初级会员

Rank: 2

积分
92
金钱
92
注册时间
2013-3-4
在线时间
0 小时
 楼主| 发表于 2013-5-24 21:43:28 | 显示全部楼层
回复【2楼】正点原子:

回复【楼主位】绘梦之卷:
---------------------------------
这就要求你的中断处理尽量短了.CH2上升沿到来了,会置位标志位,只要你退出CH1中断的时候,不把CH2的标志给清零,还是会进入中断的.

---------------------------------
现在捕获的高电平脉冲一般都比较长……
我看过开发板的例程,是不是一次捕获完成才退出中断?
如果CH2的标志位没有清零,退出CH1中断的时候(如果CH1的脉冲较长)CH2的脉冲已经走过一段了,那么CH2这一路是不是就不准确了?
回复 支持 反对

使用道具 举报

7

主题

44

帖子

0

精华

初级会员

Rank: 2

积分
92
金钱
92
注册时间
2013-3-4
在线时间
0 小时
 楼主| 发表于 2013-5-24 22:07:04 | 显示全部楼层
回复【2楼】正点原子:

回复【楼主位】绘梦之卷:
---------------------------------
这就要求你的中断处理尽量短了.CH2上升沿到来了,会置位标志位,只要你退出CH1中断的时候,不把CH2的标志给清零,还是会进入中断的.

---------------------------------
版主,换一个更简单的情形:如果CH1和CH2的脉冲同一时刻到来要怎么办?是否一个定时器就无法满足了呢?
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-5-25 00:26:24 | 显示全部楼层
回复【4楼】绘梦之卷:
---------------------------------
那就用2个定时器吧....
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-5-25 00:26:59 | 显示全部楼层
那2个定时器还存在CPU在处理定时器1中断的时候,中断2来了咋办?

那用2个cpu吧...
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

0

主题

1

帖子

0

精华

新手入门

积分
21
金钱
21
注册时间
2013-7-11
在线时间
0 小时
发表于 2013-7-11 13:52:26 | 显示全部楼层
CH3 CH4 通道可以PWM 捕获的,只是库函数没写出,需要按寄存器设置
调试确实有些费事,但是最终实现了
回复 支持 反对

使用道具 举报

7

主题

44

帖子

0

精华

初级会员

Rank: 2

积分
92
金钱
92
注册时间
2013-3-4
在线时间
0 小时
 楼主| 发表于 2013-8-3 15:10:34 | 显示全部楼层
回复【8楼】372292570:
---------------------------------
十分感谢,现在还在尝试阶段……
回复 支持 反对

使用道具 举报

0

主题

1

帖子

0

精华

新手入门

积分
25
金钱
25
注册时间
2014-5-20
在线时间
0 小时
发表于 2016-1-15 15:32:20 | 显示全部楼层
372292570 发表于 2013-7-11 13:52
CH3 CH4 通道可以PWM 捕获的,只是库函数没写出,需要按寄存器设置
调试确实有些费事,但是 ...

用户手册上明确的写了,只能使用CH1,CH2通道哦。
按照您的意思,一个定时器是可以实现2路PWM输入的,CH1,CH2一路,CH3,CH4一路。
好矛盾呢?

有代码发上来看不?
QQ图片20160115152925.png
life must be go on!
回复 支持 反对

使用道具 举报

0

主题

10

帖子

0

精华

新手上路

积分
30
金钱
30
注册时间
2016-5-29
在线时间
4 小时
发表于 2016-7-11 22:55:55 | 显示全部楼层
之前在网上看过一个4录得
回复 支持 反对

使用道具 举报

15

主题

42

帖子

0

精华

初级会员

Rank: 2

积分
164
金钱
164
注册时间
2017-1-29
在线时间
37 小时
发表于 2017-6-20 09:52:13 | 显示全部楼层
372292570 发表于 2013-7-11 13:52
**** 作者被禁止或删除 内容自动屏蔽 ****

两路输入捕获的代码有吗?共享学习下,我最近在调试这个东西。
回复 支持 反对

使用道具 举报

7

主题

188

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
385
金钱
385
注册时间
2018-7-19
在线时间
126 小时
发表于 2018-7-26 15:54:58 | 显示全部楼层
正点原子 发表于 2013-5-25 00:26
那2个定时器还存在CPU在处理定时器1中断的时候,中断2来了咋办?

那用2个cpu吧...

哈哈哈哈
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-17 22:49

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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